Slashdot Mirror


Why New Programming Languages Succeed Or Fail

snydeq writes "Fatal Exception's Neil McAllister discusses the proliferation of programming languages and what separates the successful ones from obscurity. 'Some people say we don't need any more programming languages at all. I disagree. But it seems clear that the mainstream won't accept just any language. To be successful, a new language has to be both familiar and innovative — and it shouldn't try to bite off more than it can chew. ... At least part of the formula for success seems to be pure luck, like a band getting its big break. But it also seems much easier for a language to shoot itself in the foot than to skyrocket to stardom.'"

11 of 274 comments (clear)

  1. Re:Why New Programming Languages Succeed Or Fail by hcs_$reboot · · Score: 4, Insightful

    Succeed == Adopt. So the question may be rephrased as "Why programmers adopt a language?", and this time you can post a constructive answer.

    --
    Slashdot, fix the reply notifications... You won't get away with it...
  2. Re:Compatibility or conversion by betterunixthanunix · · Score: 4, Insightful

    Don't expect me to port existing code to your new language

    Who says you need to port anything? If the language has a foreign function interface, you can just maintain the old code and build on top of it.

    --
    Palm trees and 8
  3. Objective-C by cerberusss · · Score: 4, Insightful

    What you can also do, is promise great riches, as in the case of Apple/iOS/Objective-C.

    --
    8 of 13 people found this answer helpful. Did you?
  4. There is no magic formula. by ledow · · Score: 5, Insightful

    There is no magic formula. But there are some simple things that I find help me that have NOTHING to do with the language itself, or it's technical advantages/disadvantages. Strangely, they correlate in no way to popularity of the languages

    You need a single document to sell me your new language. If you can't explain the concepts, basically, to a programmer in a page or two (enough that if you try to sell EVERYTHING I get bored reading the document as a whole), then it won't wash. If I can't understand why I should use your language, I won't. (Spreading it across a Wiki doesn't count, unless that Wiki has a complete copy available as a PDF or something readable.)

    Your documentation should also help when I have a "how the hell do I do X?" question.

    You shouldn't just assume that your way is the best. Ever. Just don't. It'll annoy me.

    You shouldn't just assume that I'm happy to spend a year learning the quirks of your language.

    I should be able to knock up a quick sample program, that uses one of your new features, and understand it in a matter of minutes. Literally. Minutes. Including downloading and installing your compiler / interpreter and getting it running.

    Google sort of understood this with Go: http://golang.org/ They have all of the above, and even an online "compiler". They fail a tiny bit with "what's new" and selling the language, really, which is a bit of a shame, but they do a good job.

    Ruby does okay too.

    But PHP, one of the most popular languages, has a web-site that doubles as a bomb-site. It's hideous and has always put me off, even if they do have some of this information hidden away. It's not selling the language at all(presumably because they're "big enough" for everyone to just know about it). It's like reading a security/release-mailing blog sometimes.

    C# doesn't sell the language at all, anywhere, online as far as I can tell. The first hit is Wikipedia. The next few are resource sites.

    As far as I can see, C# succeeded because it was backed by a big company. By contrast, Go is still pretty obscure (which shows you there is no magic formula - Go aces a lot of the checklists but still lingers in the background). PHP succeeded because it was quick, simple, powerful and "came first" in terms of web scripting. It also created one of the web's largest security nightmares, which was something it was supposed to replace (Perl CGI).

    C was popular because it was unique at the time, and powerful. C++ was popular basically because C was (that doesn't mean it didn't have advantages too, but it got popular by riding along - not by it's own merit at first, but that's what HAS kept it in place ever since).

    There's no way to predict a success. Ruby / Rails came out of nowhere as far as I'm concerned and Ruby's been around since the 90's (Has it? Really? Bloody hell! Where was that hiding?). But things like Haskell were around too in that time and have never really caught on.

    It seems the criteria are "ready - while being in the right place and right time", and almost the inverse of what you'd expect given a look at how much they want to ease programmers in. It seems that if you want to stand a good chance of being the next-big-thing, make an awful website, don't put up examples, make the simplest thing complicated or impossible, make an horrendous security mess, and then put it online. Then find the next fad, say your language is perfect for it, and push it everywhere you can.

    1. Re:There is no magic formula. by jbolden · · Score: 4, Insightful

      But things like Haskell were around too in that time and have never really caught on.

      Huh? When Haskell came out it was a replacement to Gopher, a language not even terribly popular with the functional community. Haskell is now by far the #2 most popular functional language, passing even languages like Mathematica. Haskell has become the primary language of compiler design with ideas from Haskell leaking into most compilers including most importantly the Visual Studio compilers. Ideas from Haskell have led to whole new classes of languages like Scala and Clojure. Ideas like lazy data structures are become standard approaches in many languages.

      Further Haskell has completely altered the entire way people think of functional programming. Monadic methods are now standard in most functional languages.

      In what sense is Haskell not a huge success? Sure it isn't the mainstream language of choice, but then again a language that isn't good with interactive I/O is going to be unsuited for most day to day programming problems.

  5. Re:Compatibility or conversion by shadowrat · · Score: 4, Insightful

    java failed? are you confusing a platform with a language? java seems pretty healthy on servers and mobile.

  6. Re:Why New Programming Languages Succeed Or Fail by TheRaven64 · · Score: 4, Insightful

    Judging by languages that have succeeded over the past 20 years, I would say that the main factor in success is a large company pushing the language. It seems that the average programmer is swayed by marketing just as much as much as anyone else. Then, beyond a certain threshold, network effects kick in. If you want to interoperate with another project, life is easier if you use the same programming language.

    --
    I am TheRaven on Soylent News
  7. Re:Why New Programming Languages Succeed Or Fail by Lennie · · Score: 4, Insightful

    I would say 'killer application' applies to programmers as much as does to consumers, so 'killer platform' might be the iPhone/iPad and the language in this case might be Objective C ?

    --
    New things are always on the horizon
  8. Re:Why New Programming Languages Succeed Or Fail by Oswald+McWeany · · Score: 4, Insightful

    The average programmer doesn't get much say in the matter- it is the company that hires him that does.

    However, yes, it comes down to marketing. Big companies like Microsoft have a much better chance of convincing a CIO that they need to be using their language.

    Let's assume a theoretical company, Megasoft, produced a language Db - D Flat is much better than C Sharp - it is easier to learn- faster to compile- produces smaller .exes, runs much faster. It even puts the kettle on and makes you a cup of tea whilst you program (coffee if you prefer).

    Which company do you think the CIO is going to go with- Microsoft with their flashy brochures- or Megasoft that no-one has heard of with their awesome product.

    Right, the CIO will insist that all coding be done with Microsoft. Microsoft will no doubt have given him a t-shirt at the last trade booth. Thus, they are the obvious choice.

    --
    "That's the way to do it" - Punch
  9. Re:Why New Programming Languages Succeed Or Fail by Sique · · Score: 4, Insightful

    So who was pushing Perl, PHP or Ruby?

    --
    .sig: Sique *sigh*
  10. Re:Why New Programming Languages Succeed Or Fail by Dragonslicer · · Score: 4, Insightful

    Judging by languages that have succeeded over the past 20 years, I would say that the main factor in success is a large company pushing the language.

    I'm having trouble thinking of any such languages other than Java and C#. I don't recall C (if you go back a bit more than 20 years), Perl, PHP, Python, or JavaScript becoming widely adopted because they were pushed by large companies (though I admit that JavaScript is debatable).