Slashdot Mirror


Why Do Programming Languages Succeed Or Fail?

magicmat writes "UC Berkeley EECS graduate researchers Leo Meyerovich and Ari Rabkin have compiled an interesting data set on the sociological aspects of programming language usage and adoption. 'Socio-PLT' is the result: compiling survey results from Berkeley's recent 'software engineering' massive online open course, SourceForge, and two years of The Hammer Principle online surveys, they have discovered some interesting phenomenon about what we, as programmers think about our languages, and why we use them. You can head over and explore the data yourself using cool interactive visualizations, and even fill out a survey yourself to have your say."

201 comments

  1. Because programmers use them or they don't by rfioren · · Score: 4, Insightful

    Because programmers use them or they don't.

    1. Re:Because programmers use them or they don't by decipher_saint · · Score: 1, Redundant

      If I had mod points today I would use 'em...

      Sometimes things just catch on because people start using a language and it spreads from there.

      --
      crazy dynamite monkey
    2. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      Anonymous Coward likes this.

    3. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 5, Funny

      Ah but Lisp is a success even though no programmer actually uses it.

    4. Re:Because programmers use them or they don't by slim · · Score: 4, Insightful

      Because programmers use them or they don't.

      Brilliant insight there, leading 4 people to moderate you "insightful"... You could have saved those researchers a whole lot of work.

      Ever heard of "five whys"?

      1. Why is a programming language successful? - Because programmers use it, or don't.
      2. Why do programmers use it? - Because it does what they want.
      3. What do programmers want from a language? - .....

      Less than 3 why's in, we've already reached a question that you can't glibly answer. Or if you can, go ahead and release your perfect language.

    5. Re:Because programmers use them or they don't by 91degrees · · Score: 2

      That is about the size of it. I know a bit of perl because I wanted to do some web scripts, and at the time, perl was the best language. I know a bit of Java because I wanted to write some mobile phone apps and Java's the only properly supported language for Android.

      I don't know Haskell because nobody uses it so I've had no need to learn.

    6. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      4. PROFIT!!!

    7. Re:Because programmers use them or they don't by wcrowe · · Score: 5, Funny

      1. Why is a programming language successful? - Because programmers use it, or don't.
      2. Why do programmers use it? - Because it does what they want.
      3. What do programmers want from a language? - For it to do what is required, quickly and easily.
      4. Why do programmers want to do things quickly and easily? - Because programmers are lazy.
      5. Why are programmers lazy? - Because they want to get their work out of the way as quickly as possible so they can get back to doing things they really enjoy.

      There are your five why's, answered succinctly and glibly.

      --
      Proverbs 21:19
    8. Re:Because programmers use them or they don't by Eraesr · · Score: 1

      Yeah but that is because the 3rd why is a what

    9. Re:Because programmers use them or they don't by mark-t · · Score: 1

      I don't know Haskell because nobody that I personally know uses it so I've had no need to learn

      FTFY

      Please say what you mean next time... unless you are genuinely meaning to infer that everyone who knows a particular language must be a "nobody", as in nobody who is important or worthwhile... which is a rather tactless thing to say, if you ask me.

    10. Re:Because programmers use them or they don't by 19thNervousBreakdown · · Score: 2, Insightful

      Oh man.

      I came in here to post that we can expect to see programming explosively progress relative to previous craft professions, because unlike other professions that disdain introspection, our field practically requires it, and teaches very early and very harshly that absolute intellectual honesty is the only way to move forward.

      And then ... this. +5, Insightful. A post that is the equivalent of the middle-management meme that made the rounds a few years ago, "It is what it is." Absolutely meaningless, utterly unhelpful, not only devoid of thought but actively blocking it, a trite tautology is apparently the pinnacle of what the Slashdot community (which, according to a recent poll, is something like 40% developers) has to offer.

      Well, at least it won't be too hard to leave you guys in the dust.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    11. Re:Because programmers use them or they don't by dkleinsc · · Score: 4, Insightful

      That last one isn't that hard to explain though, because it usually comes down to a few factors:
      A. Easy to learn.
      B. Easy to write highly functional code.
      C. Easy to understand what someone else has written.
      D. Easy to integrate with components written in other languages (via libraries, compatibility layers, etc)

      Getting all of those right is more art than science.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    12. Re:Because programmers use them or they don't by 91degrees · · Score: 2

      Nobody I personally know uses Java, or at least nobody did until I got a job in it.

      What I mean is nobody uses Haskell for any area of software development, to a substantial degree that learning it makes any sense. There's essentially no community development support for it in any field.

      I do mean nobody important or worthwhile. I apologise if this offends you.

    13. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      1. Why is a programming language successful? - Because programmers use it, or don't. 2. Why do programmers use it? - Because it does what they want. 3. What do programmers want from a language? - For it to do what is required, quickly and easily. 4. Why do programmers want to do things quickly and easily? - Because programmers are lazy. 5. Why are programmers lazy? - Because they want to get their work out of the way as quickly as possible so they can get back to doing things they really enjoy.

      There are your five why's, answered succinctly and glibly.

      Your answer to three wasn't all that helpful though, was it? Or if it was, it doesn't really usefully lead to number 4, does it

      4. What is it required to do? (And remember, we're talking about generic, as yet undefined, tasks.

    14. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      The 3rd why is a what? Says who?

    15. Re:Because programmers use them or they don't by phodara · · Score: 1

      I don't how many of you are old enough to remember the now defunct BYTE magazine, probably one of the top three technical magazines of all time.
      They would have fun with their April 1st issues. One year they had a featured article by the purported creator of Pascal a college professor explaining that he created Pascal as teaching tool in what NOT to do when creating a programming language. He went through step by step every design flaw in pascal. It was a brilliant joke and the magazine took a lot of flack from disgruntled Pascal programmers, and readers without a sense of humor.

    16. Re:Because programmers use them or they don't by NotQuiteReal · · Score: 1

      1. Why is a programming language successful? - Because programmers use it.
      2. Why do programmers use it? - Because it provides paying jobs.
      3. Why does it provide paying jobs? - Because it is possible to economically do useful things.
      4. Why makes a programming language economical? - Terse efficiency, not obtuse coolness.
      5. Why do programmers choose a particular language? - They want to use a programming language that is successful.

      ERROR: OUT OF MEMORY

      --
      This issue is a bit more complicated than you think.
    17. Re:Because programmers use them or they don't by Schmorgluck · · Score: 2

      PHP complies to none of these except A, and even that is arguable.

      --
      There's nothing like $HOME
    18. Re:Because programmers use them or they don't by AngryDeuce · · Score: 1

      Ever heard of "five whys"?
      1. Why...
      2. Why...
      3.What...

      What?!?!!?

    19. Re:Because programmers use them or they don't by plopez · · Score: 2

      I think COBOL meets all those criteria.... or possibly Fortran (he said as he ran, ducked, and then hid).

      --
      putting the 'B' in LGBTQ+
    20. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      +++Divide By Cucumber Error. Please Reinstall Universe And Reboot +++

    21. Re:Because programmers use them or they don't by dkleinsc · · Score: 2

      In its heyday, PHP's advantages were: (A) It was easy to learn for those familiar with Javascript because it was kinda similar syntax, and (D) Extremely easy integration with HTML and Javascript, especially once mod_php got going. Basically, it meant that any damn fool web designer could throw a little bit of PHP into their pages.

      Once people started writing more complicated stuff in it, its limitations became clear, which is a big part of why its popularity is waning in favor of Python, Ruby, etc for web development.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    22. Re:Because programmers use them or they don't by TheLink · · Score: 5, Informative

      Lisp is very powerful. So it is a good language for all the code that you write.

      However I don't use Lisp. I actually prefer stuff like Perl. Why? Because Perl is good for all the code you don't have to write! aka CPAN.

      All that code in CPAN that you don't write, is code that you don't have to document, and typically don't have to debug and fix.

      Most programmers in the world aren't really writing code where most of the lines of code are "new", revolutionary or innovative. You might write a few innovative things here and there, but the rest? Don't reinvent the wheel - use good libraries/modules.

      In areas where nobody else in the world has ever done what you are doing, then it makes sense to use stuff like Lisp or whatever super powerful language that some genius has come up with.

      Otherwise if you need to parse and build DHCP packets, perl/CPAN has modules for that. If you need to parse and build a webpage and post a webform, perl/CPAN has modules for that. Talk to DB servers, handle SNMP, SMTP over TLS, ssh, write Excel files, create images, etc they're all on CPAN.

      --
    23. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0
    24. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      3. What do programmers want from a language? - .....

      What? I don't know that -
      *aaaaaaahhhhhhh!* (falls into the chasm beneath the bridge of death)

    25. Re:Because programmers use them or they don't by Bill,+Shooter+of+Bul · · Score: 2

      I like CPAN. I really do. But, I have had to debug several modules. Its not always perfect. You do actually have to test them to see if they meet your usecase. Point in case: the excel module. XLS is pretty complex, it doesn't do everything correctly.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    26. Re:Because programmers use them or they don't by JasterBobaMereel · · Score: 2

      Look at the languages that have "succeeded" they all have the same things in common, availability and support

      Perl, C, VB, Java, PHP, C++, C# ... all were/are highly available, and well supported, they often were not the best or even a good choice otherwise

      Lisp is very powerful, but is not the language of choice for actually doing anything useful because it is not highly available and well supported on any system

      On Windows C, C++, VB and C# are the languages of choice because they are well supported by Microsoft... no other reason

      --
      Puteulanus fenestra mortis
    27. Re:Because programmers use them or they don't by jythie · · Score: 1

      (D) is probably the critical one. Languages, at this point, are all pretty similar in what they can do, how easy they are to learn, and readability really just depends on what you are used to.. The thing that tends to separate them is what other components exist for them to link into, i.e. how popular they are among the programmer's target community.

      So it is probably more accurate to say 'programmers use languages because other programmers are using them'.

    28. Re:Because programmers use them or they don't by thereitis · · Score: 1

      0. What does it mean for a programming language to be successful?

    29. Re:Because programmers use them or they don't by j00r0m4nc3r · · Score: 1

      On Windows C, C++, VB and C# are the languages of choice because they are well supported by Microsoft

      Ok, but why were those chosen by MS as the ones they would support?

    30. Re:Because programmers use them or they don't by TheLink · · Score: 3, Insightful

      Yeah, I had to debug and fix some stuff too. If the module is not too crap, fixing it is usually still faster than writing it from scratch in Lisp. Add in the OK modules that perl has and lisp doesn't and it still could be faster.

      Even so many of the modules are written by programmers who are better than I am. That's how I improve the code quality of my program - most of the code is written by better programmers :).

      Lisp does have Cliki: http://www.cliki.net/index
      But compare the documentation of the average module.

      --
    31. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      This is both a completely true and a completely useless statement.

    32. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      Lisp is very powerful, but is not the language of choice for actually doing anything useful because it is not highly available and well supported on any system

      Lisp is actually well supported on most systems. On most computer installations, multiple high-quality natively compiling implementations of Lisp are available.

    33. Re:Because programmers use them or they don't by Zero__Kelvin · · Score: 2

      Just do 'alias What=Why' and it will work.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    34. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 1

      But libraries that do useful stuff aren't. You probably today can still do more stuff with a 15 yr old VB6 than you can with SBCL.

      As an trivial but representative example, considering that Lisp is 50+ years old, to this day the whole community hasnt managed to come up with a (free, complete, documented, somewhat standard) way to create GUIs. There is no free documentation.

    35. Re:Because programmers use them or they don't by gtall · · Score: 2

      From my own experience (I really hope this has changed or changes), there is no support in terms of debuggers, tracers, etc. It is horrible in that regard, you are left with using print statements...in a functional language. Great, I get a linear stream of crap from a computation that has a lot of internal structure. Just the type structure error messages alone are enough knock a dead buzzard off a shit wagon at 20 paces. Would it kill the developers to at least display why something doesn't type-check rather than cough up a hairball only a computer scientist's mother could love?

      I will admit that Haskell is very good for isolating algebraic/coalgebraic semantics for hardware-software languages. It was and is developed by computer scientists for computer scientists. It was never developed for engineering production systems, although we've been using it for FPGA code where we compile down to VHDL. NSA also uses a variant of Haskell called Cryptol (I think) for crypto-apps.

    36. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      Because it uses itself ... that's how good it is, oh yeah ... *puts on a sunglass*

    37. Re:Because programmers use them or they don't by mister_dave · · Score: 1

      Most web hosts offered it. The PHP manual is very good.

    38. Re:Because programmers use them or they don't by Schmorgluck · · Score: 1

      I agree that integration with HTML is good, the code being enclosed in a processing instruction marker, it easily made a PHP script a well-formed XML document, which made debugging easier, at least on a structural level. On this respect, it was way better than JSP and its absurd <%...%> marker.

      But you stated the real selling point of PHP: "any damn fool web designer could throw a little bit of PHP into their pages." No need to engage in extensive learning, someone who only knew HTML could manage to obtain a result pretty quickly. So it's not so much that it was easy to learn (hence my earlier reservation) than it needed very few learning before obtaining a result. That's why it's called "Personal HomePage", no matter what they pretend PHP means, nowadays.

      This early boon ended up being a curse, because it resulted in a huge crowd of PHP "programmers" with no proper training in programmation. And when the fad hit its peak, properly trained programmers ended up being forced to use a sketchy (to be polite) language to actually get a job.

      Another selling point of PHP was it being Free Software. It endeared it to many key people in the industry. It wasn't Microsoft's ASP, you see. I'm a huge supporter of Free Software, but I must painfully admit that concerning PHP, the derogative term "freetard" has never been more deserved. It even undermined another Free Software asset, Perl, that (IMHO) could have given the same result for base users with proper libraries.

      --
      There's nothing like $HOME
    39. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      Ahh, yes. The wonderful April issues.

      One of the articles mentioned an item whose code was written in an new programming language described as being so elegant that the original writer of a program has no idea how it works only half an hour after writing it.

      You know. Kind of a mega-Perl

    40. Re:Because programmers use them or they don't by ZombieBraintrust · · Score: 1

      Ah but Lisp is a success even though no programmer actually uses it.

      There is a Chuck Norris joke in there somewhere. Keep trying.

    41. Re:Because programmers use them or they don't by ducomputergeek · · Score: 2, Insightful

      Just started a new project which required an API to essentially pass information from a database and CSV files to an HTML client in JSON. Broke out the basic script I wrote in Perl circa 2002 to do just that. Since 2002 I've made two major changes to the script: added JSON support (originally it returned XML because back then it was all about XML) and replaced some rather nasty els if statements with switch statements when that became standard in Perl 5.10. The sub routines vary from project to project (i.e the queries), but the other life saver has been CPAN. Every time I've ever needed to interface with some new service, there seems to be a Perl Module for that...Facebook, twitter, whatever...there always seems to be "a perl module for that".

      I'm the senior programmer on the project with a couple younger kids with CS degrees about a year out of college. They were trying to push to use nodejs for the back end and I said no, we were going to use Perl for the web services/api/cgi-script/server-side-process-term-of-the-year. I got some disgusted looks for using "old and broken" instead of "new hotness". Then I chuckled that I had heard it all before. The world was going to be Java, which is true in the Enterprise world, then it was all about PHP, then Python, then C#, then Ruby on Rails and yet this very simple framework I wrote a decade ago in perl still works just as it did back then. As I told them was I don't feel like having to rewrite the damn thing because no one is going to deprecate a function like split() in favor of calling it explode() or suddenly you find out that the flavor of the year suddenly can't scale as advertised.

      A major selling point was DBD::CSV, a perl module that allowed CSV to be queried with SQL statements. Yes, it doesn't support all the features, but does support the basics like "SELECT this.column FROM file.name Where some.column = some.value". Which means when all the CSV eventually do get imported into the database (that will be a few months as there is something like 500k csv files on the server) it won't take much to switch out to use the database.

      What they fail to understand is that what the client cares about is out the "app" looks on the HTML side. How it the data gets from the database/file servers to the client they don't care and frankly not what they are paying us for. What will make them happy is how it looks. So long as the backend is "fast enough" to deliver data over a cell network they don't care. We aren't having to execute financial transactions where milliseconds matter.

      --
      "The problem with socialism is eventually you run out of other people's money" - Thatcher.
    42. Re:Because programmers use them or they don't by Bill,+Shooter+of+Bul · · Score: 1

      Very good point. The quality of CPAN is much better than some thing like PHP's PEAR. I haven't had as much experience with Ruby Gems or Python's what ever. Often, If a library isn't good enough in the language I'm using I'll port a CPAN module.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    43. Re:Because programmers use them or they don't by Darinbob · · Score: 2

      But even then this doesn't mean much. Ie, Ruby was a minor seldomly used language for a long time until suddenly it took off because of Ruby on Rails. Python is very popular now but it used to be something not used much except in Red Hat. Lua was similary uncommon until some games picked it up and used it, increasing the popularity.

      Simiarly, some things that people think are fail are not. Smalltalk is still actively being developed and used, with new commercial and free versions. COBOL is _still_ being used in some places. I am told at least a couple times a year that "no one" uses assembler anymore. Even some people have said C is dead!! So you need to define what "succeed or fail" really means as this is very ambiguous.

    44. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      No, you're thinking of Haskell, which is theoretically the best language ever. Unfortunately, nobody has been able to test this yet, as so far no Haskell program has ever compiled correctly.

    45. Re:Because programmers use them or they don't by Darinbob · · Score: 1

      Hmm, I never use CPAN. I tried once, but it was more work to look through the thousands of packets and find the right one and then integrate it than it was to actually write my own small module. But I use Perl for simple scripts and utilities, one-off things, not production code that gets shipped to customers or put into production.

      I do occasionally use Lisp. It's what's in Emacs after all. It used to be more common as a scripting or configuration language but over the years there are now other simple interactive interpreted languages that can be used, so new programmers have more choices. It's also harder to find Lisp easily available (ie, it's not installed by default on operating systems like it was with BSD4). Few have the same elegance as Lisp though and I do think these younger programmers are missing out by thinking of it as uncool or only for old people or AI. Of course you need to think differently to use it, using a functional style or working with properties/symbols, whereas so many languages today feel exactly the same only with different syntax.

    46. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      that basically means that A is about the only important answer then, the others are just extra fluff

    47. Re:Because programmers use them or they don't by dkleinsc · · Score: 1

      and readability really just depends on what you are used to..

      That's not entirely true. Readability has a lot to do with signal to noise. For instance, compare this:

      if a == b:
              c = do_something()

      to this:

      IF a% == b% THEN
              c$ = doSomething()
      END IF

      They say the exact same thing, but the first example has gotten rid of "THEN" and "END IF", which add no meaning whatsoever and mostly just clutter things up. Which is why, IMHO, Python is a superior language to Basic.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    48. Re:Because programmers use them or they don't by Anonymous Coward · · Score: 0

      And a lot of that, to me, is how much the syntax looks like math vs. English.

      Syntax is often overlooked as part of the learning curve. Compare Visual Basic vs something like Haskell

    49. Re:Because programmers use them or they don't by chthon · · Score: 1

      Not only that. Except for the way macros are implemented in Lisp, you can do almost anything in Perl that you can do in (Common)Lisp/Scheme.

      • First class functions, as subroutines and anonymous (lambda)
      • Tail recursion (rather recent, I know)
      • List processing
      • Proper lexical environment (in contrast to Python)
      • Proper dynamic environment if needed

      And macros are a compile time feature. In Perl you can also process code at compile time. Not as comprehensive as Lisp, but the feature is there!

    50. Re:Because programmers use them or they don't by Marxist+Hacker+42 · · Score: 1

      FTA, though, there are some interesting insights, such as

      static types and code reuse do not mix well.

      . Of course, after 16 years of professional coding, I could have told them that!

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    51. Re:Because programmers use them or they don't by Marxist+Hacker+42 · · Score: 1

      Documentation counts for a lot. MSDN is the ONLY reason I'm still a Microsoft coder professionally, or I would have long ago jettisoned their crap for Open Source stuff that just plain works.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    52. Re:Because programmers use them or they don't by kmoser · · Score: 1

      They say the exact same thing, but the first example has gotten rid of "THEN" and "END IF", which add no meaning whatsoever and mostly just clutter things up. Which is why, IMHO, Python is a superior language to Basic.

      I find explicit block markers to be useful when searching for the beginning and end of a long block. This applies whether the markers are THEN, ELSE, and ENDIF or { and }.

    53. Re:Because programmers use them or they don't by slim · · Score: 1

      But libraries that do useful stuff aren't.

      Clojure basically fixes that. LISP (unless you want to be *really* pedantic about differences), with all the libraries Java has.

      Will it become mainstream? I can't see it. Whether it's rational or not, people seem to fear the parentheses, and have difficulty with the functional paradigm.

    54. Re:Because programmers use them or they don't by JasterBobaMereel · · Score: 1

      ..also known as why can't I program in C with this language ...

      --
      Puteulanus fenestra mortis
    55. Re:Because programmers use them or they don't by slim · · Score: 1

      I find explicit block markers to be useful when searching for the beginning and end of a long block. This applies whether the markers are THEN, ELSE, and ENDIF or { and }.

      1. Surely finding the beginning/end of an intent-delimited block is something that an editor could do just as easily, if only it was coded.
      2. Encouraging shorter blocks is good language design.

  2. This has been covered here before by llamalad · · Score: 5, Funny

    The main factor in determining whether or not a language succeeds is the quality of its creator's beard:
    http://entertainment.slashdot.org/story/08/04/29/181249/facial-hair-and-computer-languages

    1. Re:This has been covered here before by Anonymous Coward · · Score: 0

      That would make it pretty hard for anyone from Japan or China to create a programming language.

      Although Matz(creator of Ruby) does about as well a beard as he can, although its only 5-oclock shadow by western standards:
      http://www.cit.cmu.edu/files/images/feature/2009/20091228.jpg

    2. Re:This has been covered here before by Anonymous Coward · · Score: 1

      That's just his playoff beard. Once the Stanley Cup Finals is over, Ruby is toast.

      You have never seen Matz and Ilya Kovalchuk in the same room together. Coincidence? I think not.

  3. Girl Analogy by A10Mechanic · · Score: 2, Insightful

    Programming languages must have a certain elegance, a flow or symmetry that entices the mind. Pascal/Delhpi have always done that for me. She's not the hottest girl at the dance, a little older and not dressed to the 9's, but she's the one I'm taking home that night. It's entirely personal, and I could'nt care less what others use.

    1. Re:Girl Analogy by Anonymous Coward · · Score: 5, Funny

      Programming languages must have a certain elegance, a flow or symmetry that entices the mind. Pascal/Delhpi have always done that for me. She's not the hottest girl at the dance, a little older and not dressed to the 9's, but she's the one I'm taking home that night. It's entirely personal, and I could'nt care less what others use.

      Much like Ruby is called "Perl's younger, much prettier sister".

      Dear Perl,

      Look, I know that we were an item for quite a few years.

      You were my one and only. My true love.

      But I've gotta admit, when I saw your younger sister Ruby a few years back... well, I thought she was hot. But of course, she was too young then so I stayed away from her.

      Now, more recently I have to confess that I went out with Ruby for a few dates and believe me, she is plenty mature now!

      Not only that but her library seems somehow more complete than yours and certainly better organized. And her object oriented features - OO la la! Look, you're a great gal, but you're certainly not anywhere near as well endowed in THAT department.

      And now that Ruby's got transportation (ok, so she likes to ride the rails) we're really getting around.

      So, dear Perl, I have to tell you that it's over between you and me. From now on it's me and Ruby.
      Please don't take it too hard. Maybe you'll find someone else after you're makeover.

    2. Re:Girl Analogy by Anonymous Coward · · Score: 0, Flamebait

      Programming languages must have a certain elegance, a flow or symmetry that entices the mind. Pascal/Delhpi have always done that for me.

      Pascal/Delphi is great if you are in to necrophilia.

    3. Re:Girl Analogy by RyuuzakiTetsuya · · Score: 2

      if that were true, python or ruby would rule the roost for web development jobs, not PHP(TBH, I love PHP because it's kind of batshit nutty).

      I suspect it's a chicken/egg situation. Which comes first, developers using languages or projects using languages(not just jobs mind you)?

      --
      Non impediti ratione cogitationus.
    4. Re:Girl Analogy by Anonymous Coward · · Score: 2, Informative

      "Programming languages must have a certain elegance, a flow or symmetry that entices the mind. Pascal/Delhpi have always done that for me."

      Try Scheme.

    5. Re:Girl Analogy by PolygamousRanchKid+ · · Score: 5, Funny

      Unlike a girl, a good programming language is good for more than one thing.

      If you have more than one girlfriend, then you run into the same problems as SMP and multi-threaded programming: resource contention, careful locking, semaphore signalling overhead, etc. Woe betides you if one finds cosmetics stuff from another on the wrong stack in the bathroom.

      Spin locks are, quite literally, a bitch.

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    6. Re:Girl Analogy by O('_')O_Bush · · Score: 1

      I'm going to go with professors trying something and liking it, passing it on to their students, and the rest following from there. I realise this isn't a complete explanation, but I does help explain the momentum some languages have gained (looking at you, Python, Matlab, QT4/C++, VB).

      --
      while(1) attack(People.Sandy);
    7. Re:Girl Analogy by Anonymous Coward · · Score: 5, Funny

      Programming languages must have a certain elegance, a flow or symmetry that entices the mind. Pascal/Delhpi have always done that for me. She's not the hottest girl at the dance, a little older and not dressed to the 9's, but she's the one I'm taking home that night. It's entirely personal, and I could'nt care less what others use.

      Much like Ruby is called "Perl's younger, much prettier sister".

      Dear Perl,

      Look, I know that we were an item for quite a few years.

      You were my one and only. My true love.

      But I've gotta admit, when I saw your younger sister Ruby a few years back... well, I thought she was hot. But of course, she was too young then so I stayed away from her.

      Now, more recently I have to confess that I went out with Ruby for a few dates and believe me, she is plenty mature now!

      Not only that but her library seems somehow more complete than yours and certainly better organized. And her object oriented features - OO la la! Look, you're a great gal, but you're certainly not anywhere near as well endowed in THAT department.

      And now that Ruby's got transportation (ok, so she likes to ride the rails) we're really getting around.

      So, dear Perl, I have to tell you that it's over between you and me. From now on it's me and Ruby.
      Please don't take it too hard. Maybe you'll find someone else after you're makeover.

      After a few go-rounds, you then discover she has 6 different STDs and is intellectually about as deep as a summer puddle in a Florida parking lot.

      Yep. Sounds like Ruby.

    8. Re:Girl Analogy by NoNonAlphaCharsHere · · Score: 5, Funny

      Sure, sure. But Perl will fuck you back. Big time.

    9. Re:Girl Analogy by hedleyroos · · Score: 1

      They also need documentation and working examples.

    10. Re:Girl Analogy by garrettg84 · · Score: 2

      Ruby only dates hipsters and yuppies. Analogy fail.

      --
      -g
    11. Re:Girl Analogy by tibit · · Score: 1

      And then there's assembly, where everything depends on vintage. There are some seriously inspiring architectures like my fave XMOS XS-1 with its hardware resource management in old mainframe style, but all packaged in a limber teenage body.

      --
      A successful API design takes a mixture of software design and pedagogy.
    12. Re:Girl Analogy by idontgno · · Score: 2

      Programming languages must have a certain elegance, a flow or symmetry that entices the mind.

      Your father's Delphi. This is the weapon of a Hacker Knight. Not as clumsy or random as C++; an elegant weapon for a more civilized age.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    13. Re:Girl Analogy by Anonymous Coward · · Score: 0

      So Perl's packing a strap-on? Thanks for the warning!

    14. Re:Girl Analogy by VGPowerlord · · Score: 1

      Since the primary reason to go to Delphi was to get advice from the Oracle, what do you do if you consider the Oracle unreliable?

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    15. Re:Girl Analogy by Chris+Mattern · · Score: 1

      I'm sorry, I think you meant your father's Lisp.

    16. Re:Girl Analogy by Anonymous Coward · · Score: 0

      I would, but then I find out that it has no libraries and you cant do anything remotely useful with it.

    17. Re:Girl Analogy by Anonymous Coward · · Score: 0

      "I would, but then I find out that it has no libraries and you cant do anything remotely useful with it."

      And you'd be wrong.

    18. Re:Girl Analogy by idontgno · · Score: 1

      Well, I felt obligated to follow parent poster's lead, but I will admit that the XKCD's take feels more Right. Except for all the parentheses. Lisp. *shudder*.

      If Lisp is right, I'd rather be wrong. I guess I have more kinship to the blaster-waving barbarians.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    19. Re:Girl Analogy by Darinbob · · Score: 1

      I thought Ruby was Smalltalk's less elegant sister but easier to pick up if you're poor and don't have a workstation. Of course once you don't notice all the quirks until the windows start fogging up but by then it's too late to back out.

    20. Re:Girl Analogy by Darinbob · · Score: 1

      And the girl programmers are thinking "programming languages are not at all like boys, because you get to use your brain with them."

    21. Re:Girl Analogy by Anonymous Coward · · Score: 0

      And we wonder why women think that CS is an old boys' club.

    22. Re:Girl Analogy by Anonymous Coward · · Score: 0

      I think the analogy goes better: You get to meet elegant ones with great personalities and you try to learn about them and, uh, use them...but you eventually end up with some ugly, mean one because it was practical.

      Not to be hard on women, but the discussion so far seems to revolve about how nice languages will dominate the world but really, following your analogy, my supervisor mandates a women for me and my coworkers continue to review that I'm using her properly. I have other women when I get home but these were also determined by who works best for my current activity. On occasion I do get to look at some pretty ladies, but basically just while I play with myself.

    23. Re:Girl Analogy by qu33ksilver · · Score: 1

      Ruby is red, Pe(a)rl is white, But my gal Python is a dynamite ! Luv ya Python, my sweet pie.. ;)

  4. Tautology by Anonymous Coward · · Score: 0

    Languages succeed or not succeed == true.

  5. results location by O('_')O_Bush · · Score: 1

    The results were a bit of a pain to find on my phone, and took a while to load, but if you are looking for them, you can mostly skip the methodology and go to the bottom of the page
      where there are a handful of not well separated links.

    The results didnt seem too surprising, other than that under their questions, Visual Basic and Assembly ended up clustered together.

    --
    while(1) attack(People.Sandy);
    1. Re:results location by michael_cain · · Score: 1

      The results didnt seem too surprising, other than that under their questions, Visual Basic and Assembly ended up clustered together.

      Odd things seem to happen when you change the number of clusters. There seem to be too many cases where you start with N clusters and pick a pair of languages. Then go to N+1 clusters and the pair is split between two clusters. Then go to N+2 clusters and the pair is back in the same cluster. While k-means is often the first tool one grabs for clustering analysis, it isn't the only tool and there are data sets where k-means doesn't give reasonable results.

  6. Déjà vu by hcs_$reboot · · Score: 3, Informative
    --
    Slashdot, fix the reply notifications... You won't get away with it...
    1. Re:Déjà vu by Anonymous Coward · · Score: 0

      But did that one have cool visualisations?

  7. 99% marketting by Anonymous Coward · · Score: 1

    Back in the days when Java was originally being developed at Stanford, my university was working on it's own language. It was actually pretty good, and once Java became big, few people understood what made Java so special.

    The only answer that I've been able to come up with, is that it was Stanford, and not some Canadian school that nobody has heard of.

    1. Re:99% marketting by Anonymous Coward · · Score: 0

      Java was not created at Stanford. It was created by Gosling at Sun.

    2. Re:99% marketting by Skip1952 · · Score: 1

      ... and not some Canadian school that nobody has heard of.

      Maybe your school should of called it something like Java with WatJava and WatJive.

      --
      == Shipwrecked and comatose
    3. Re:99% marketting by Anonymous Coward · · Score: 0

      Like UWaterloo grads, all of the techs to come out of UWaterloo since the 80s have been worthless.

    4. Re:99% marketting by Anonymous Coward · · Score: 0

      WinOOT is terrible.

    5. Re:99% marketting by Anonymous Coward · · Score: 0

      Who creates something is important, especially if it's not open source. With Java, it was partially marketing and partially a really big company that was pledging to stand behind it. When it comes to programming languages, there is a pretty large investment that developers make in learning the language, idioms and ecosystem and developers are less likely to want to go to that effort if the project might shutdown when those behind it tire of supporting it.

      Basically, what guarantees would users have had that your University would continue to support the language after the students or faculty behind it decided to move on?

    6. Re:99% marketting by Jerry+Smith · · Score: 1

      Java was not created at Stanford. It was created by Gosling at Sun.

      I understand the mix-up: SUN = Stanford University Network.

      --
      All those moments will be lost in time, like tears in rain. Time to die.
    7. Re:99% marketting by Darinbob · · Score: 1

      I think most people with a broad background in different programming languages didn't see Java as anything special. It was just the same old thing with slightly different syntax. Whereas people with basically only a C/C++ background saw Java as enlightenment.

    8. Re:99% marketting by sourcerror · · Score: 1

      Well, and it was free (as in beer), as opposed to Common Lisp implementations at the time.

  8. Certianly has nothing to do with language quality by Anonymous Coward · · Score: 2, Insightful

    Since PHP and Javascript stubbornly remain popular.

  9. Slashdot might not the right place for this, but.. by goruka · · Score: 1

    Despite fanatism for a lot of languages, I believe languages catch on when they are easy to understand by others and have an easy to understand syntax or interfaces. Plenty of times you see announcements of new languages which claim experimental or higher level syntax abstractions or constructions that allow the programmer to write less code, or claim to resemble human language more.
    Yet in practice, I don't think programmers spend most of their time actually writing the code but thinking what to write, so making an algorithm or behavior as clear as possible should be preferred to writing unnecesarily shorter code that does the same.

  10. Why Do Programming Languages Succeed Or Fail? by Hatta · · Score: 5, Funny

    Because those are the only two options.

    --
    Give me Classic Slashdot or give me death!
    1. Re:Why Do Programming Languages Succeed Or Fail? by Anonymous Coward · · Score: 0

      Epic formal logic comment is epic.

    2. Re:Why Do Programming Languages Succeed Or Fail? by Anonymous Coward · · Score: 0

      What about "File Not Found"?

    3. Re:Why Do Programming Languages Succeed Or Fail? by jouassou · · Score: 1

      That would be an exception, not a return value.

    4. Re:Why Do Programming Languages Succeed Or Fail? by Anonymous Coward · · Score: 0

      In that case the question is wrong.
      Technically it should be: "Why Do Programming Languages Succeed Xor Fail?"

    5. Re:Why Do Programming Languages Succeed Or Fail? by DocHoncho · · Score: 1

      I believe they were referencing this little gem from The DailyWTF:

      http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx

      --
      Celebrity worship is a poor substitute for Deity worship and costs more to boot.
  11. They succeed if their developers have beards by Anonymous Coward · · Score: 0

    http://entertainment.slashdot.org/story/08/04/29/181249/facial-hair-and-computer-languages

  12. Obligatory quote of old thread by fruey · · Score: 2

    A “real” [programming] language is one that people who don’t want to learn anything new are already familiar with.

    http://developers.slashdot.org/comments.pl?sid=2055724&cid=35626170

    --
    Conversion Rate Optimisation French / English consultant
    1. Re:Obligatory quote of old thread by lennier1 · · Score: 1

      There's a reason why languages with a familiar syntax similar to C or Lisp are so easily accepted.

  13. If you can get useful results quickly, it succeeds by gestalt_n_pepper · · Score: 4, Insightful

    Otherwise it fails. Two of the most popular languages in existence are Visual Basic and PHP. Math folks and programmers tormented by the hobgoblin of consistency hate both languages. Guess what? It doesn't matter.

    Sure, they're inconsistent, oddly constructed and don't support polymorphism (which describes many programmers too, for that matter). Nevertheless, you can get something *done* in jig time and move on with your life. They are languages that are not about the language but the task. In that sense, they perfectly suit the human mind and so they get used again and again.

    The big fail of programming languages generally is that nobody thought to combine ease of use with scalability. A programming language should make the most frequently done things trivially easy (e.g. file i/o) and less frequently done things (e.g. serializing and deserializing) possible.

    My favorite example of a programming language fail is Powershell. The language is very consistent. It's a consistent pain in the ass. It's picky, prissy and everything has to be done "just so." I use it every day, and I'd like to condemn the developers to a hell where they had to do real system administration with it for eternity.

    --
    Please do not read this sig. Thank you.
  14. Third option by Anonymous Coward · · Score: 0

    "Why do programming languages succeed or fail?"

    There isn't any other option for them, so they have to do one or the other I suppose.

    Next question.

  15. the curious case of ObjectiveC by peter303 · · Score: 2

    In the beginning it sounded the "the Smalltalk for the rest of us", i.e. objective oriented programming for the UNIX/C crowd. But ObjectiveC was a proprietary language and did not catch with university types. Somewhat open C++ quickly eclipsed it. But the faithful at NeXT, then Apple held on. Now its considered on the most popular develop languages, mainly for iPhone apps.

  16. Because of stupid names by dargaud · · Score: 4, Interesting

    Some languages fail simply because the creators have chosen stupid names in the age of Internet searches: try searching for one liners or tutorials in 'R' or 'Go' or 'D' and you'll find tons of irrelevant links. I'll make an exception with C since there's simply more stuff out there about the language than about any other use of the letter. Now Brainfuck, that's a perfect name for a language.

    --
    Non-Linux Penguins ?
    1. Re:Because of stupid names by Surt · · Score: 0

      Surely that must suffer from a lot of exotic porn polluting the results?

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    2. Re:Because of stupid names by Hatta · · Score: 1

      Except that R is the most popular language for statistics. So the name hasn't been a hinderance at all. And it's pretty easy to find documentation for R. Guess what you get if you search google for "R tutorial" or "R one liners"?

      --
      Give me Classic Slashdot or give me death!
    3. Re:Because of stupid names by lennier · · Score: 2

      "R one liners"?

      Pirate jokes?

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
  17. Depends on the hardware, generation by AHuxley · · Score: 2

    Did you have to go to work with a maths degree to programme your computer?
    Did the language get .gov or .edu support e.g. Ada?
    Can you do anything you like and zoom ahead or fail depending on your skills? e.g. C
    Now you have you Lua, OCaml and MS efforts.
    Everyday some gifted project person tries to impress their friends or make a tool just to see if they can in some obscure, free, fast language.
    Why do they fail, ahead of their time like Ada or without the awesomer speed and freedoms for C.
    Or its just not what all your BBC/Windows/ios using friends had and could help you will, i.e. the herd is fun.

    --
    Domestic spying is now "Benign Information Gathering"
  18. Same way as real languages by Kjella · · Score: 5, Insightful

    English isn't the world's most spoken language (when you include secondary speakers) for its elegance, consistency or expressiveness. It's a combination of history and politics and power and isolation and culture and grabbing concepts and words and pronunciation from other languages. Languages are the same, some exist practically by being first. Some exist only because they've had large companies like Sun or Java backing them. Others survive because they've been isolated cornering a specific need in finance or science or academia. I remember Java 1.0 and very early Javascript, that the world is now full of Android and AJAX apps is nothing short of a freak of history. Trying to analyze it from the language's qualities alone is never going to give meaningful results.

    --
    Live today, because you never know what tomorrow brings
    1. Re:Same way as real languages by R3d+Jack · · Score: 1

      I'm just finishing "Outliers: The Story of Success", the book that discusses 10,000 hours to master something. I've always believed that "success" in anything requires a combination of skill and being in the right place at the right time, and the author presents quite a few examples that corroborate that. In terms of programming languages, I measure success over the long term. So: C, C++, Java, JavaScript, with Objective C and C# apparently emerging. Especially with Java and JavaScript (the languages I use), it was a matter of being good enough at what needed to be done at a point of major change. Now they are established, which causes them to be used even more. Strangely, what programmers like seems to matter little; it's business managers who choose what languages will be used.

  19. Dupe -- or nearly so by evenmoreconfused · · Score: 1

    Not even three months ago...

    http://developers.slashdot.org/story/12/03/16/0240232/why-new-programming-languages-succeed-or-fail

    Granted, the previous one is about new languages. But can't we assume every significant old language succeeded for at least some period of time (even if all some of them succeeded in is failing spectacularly -- remember Japan's push for "fifth generation languages" in the '90s)?

    --
    No. Well...maybe. Actually, yes. It really just depends.
  20. Because of Marketing... by stretch0611 · · Score: 1

    This is somewhat sarcastic, but unfortunately true.

    A language succeeds or fails because the company building the language and/or the tools put on a dog and pony show for your company executives. They buy into whatever crap is being sold and programmers wanting a job learn that language.

    I wish it was based on merits and how a languages performs certain tasks, but unfortunately the above is true more often than not.

    --
    Looking for a job?
    Want your resume written professionally?
    DON'T USE TUNAREZ!!!
    1. Re:Because of Marketing... by serviscope_minor · · Score: 1

      This is somewhat sarcastic, but unfortunately true.

      C++ never had a marketing division. Apparently AT&T tried to kill the C++ project several times. Each time they were surprised to find that there was no C++ project.

      Many languages had no marketing, certainly at first.

      For example C, PHP, Perl, Python, Ruby and Lua.

      FORTRAN for instance offed a massive advance over what was available before and became very popular. After a very short time, it took off on its own with no one company backing it. It was certainly marketed by many vendors, but that's because it became the must-have thing on any computer.

      Other languages simply succeed because they are in the right place at the right time. Like Javascript for instance.

      But yeah, Java and .NET certainly succeeded due to a massive marketing campaign.

      It's not all doom and gloom though.

      --
      SJW n. One who posts facts.
    2. Re:Because of Marketing... by Xtifr · · Score: 2

      A language succeeds or fails because the company building the language and/or the tools put on a dog and pony show for your company executives.

      If that were true, PL/1 would have been a huge success. It had the backing of IBM, which was at the time, the computer company, and was heavily promoted by them, but it was rejected by the market as being too complex and hard to understand. (Ironically, by the standards of today's languages, it was remarkably straightforward, clean and elegant, and if anything, too simple.)

    3. Re:Because of Marketing... by Anonymous Coward · · Score: 0

      Apparently AT&T tried to kill the C++ project several times. Each time they were surprised to find that there was no C++ project.

      This is interesting. Do you have some reference to that?

    4. Re:Because of Marketing... by tomhath · · Score: 1

      C++ was Microsoft's language of choice. Without Visual C++ it would've gone nowhere, because that's where all the programmers learned to use it.

      Java was Sun's response to Visual C++.

    5. Re:Because of Marketing... by Anonymous Coward · · Score: 0

      C++ was being taught when I was in University in the late 1980s, pre-Windows. I always assumed the early adopters were Unix-heads.

      And, Visual C++ was Microsoft's response to Borland Turbo C++ ;)

    6. Re:Because of Marketing... by Anonymous Coward · · Score: 0

      On DOS and 16-bit Windows, MS clung to C and shunned C++ as long as they possibly could. Zortech C++ showed everyone that CFront just wasn't how things were going to be done, and later Turbo C++ showed Gates that he could lose another PC language contest to Kahn. Yes, there used to be a Microsoft Pascal - it was 5 times the price of Turbo Pascal, and much less useful by the time Turbo Pascal 4.0 essentially killed it. No way was MS going to cede their desktop development dominance on their own OS platforms to anyone ever again. They precisely understood the consequences of that outcome long before the "Developers, Developers, Developers!" monkey dance. By the time 32-bit Windows came about, C++ was the de facto MS language choice for commercial app development, with VB targeted for LOB apps and hobbyists. MS made the right strategic decision going with those two languages, and both languages enjoyed huge success.

      FWIW, I've done a metric shit-ton of classic VB code, but I never found it particularly pleasant.

      - T

  21. Wish I had mod points by Viol8 · · Score: 4, Insightful

    You got it spot on. One thing you didn't mention was critical mass - once enough people are using a language others will come along and try it (or be forced to use it at work) no matter how good or bad it is and once they're comfortable with it they'll probably carry on using even if there are better alternatives because a learning curve is always more hassle than staying with what you know.

  22. Stupidest survey ever by michaelmalak · · Score: 1

    A quick CTRL-F on "salary" and "money" turned up no matches at http://www.eecs.berkeley.edu/~lmeyerov/projects/socioplt/viz/rank.html. And just to add a bit of flamebait. I guess that's what we can expect from an institution with the political and economic philosophy of Berkeley.

    1. Re:Stupidest survey ever by Anonymous Coward · · Score: 0

      You're an idiot (to continue on the flamebait).

        Salary and money is the reason why I (a 22years old CS student) would choose language A over language B, it is NOT what is going to make the language popular or successful.

        You are either failling at basic logic and mistaking causes and consequences (i.e. a language pays very well because it is very successful, therefore a lot of company want to use it, therefore a lot of people qualified to use it are demanded therefore salaries go up)

        OR you are so self-centered you think a successful language is the one that you choose (over your apparently financial criterias)

    2. Re:Stupidest survey ever by michaelmalak · · Score: 1

      Java was popular because it had the backing of Sun, a multi-billion dollar company. C was popular because it had the backing of AT&T, ditto. Ada was popular because it had the backing of DOD.

    3. Re:Stupidest survey ever by Anonymous Coward · · Score: 0

      C was popular because it had the backing of AT&T, ditto

      Well, sort of. I don't think AT&T had much to do with directly promoting C in the arena of commercial software for microcomputers. Back in the '80s, UNIX licenses were expensive and most installations were on mainframes and minis.

      However, a lot of programmers were coming out of CS programs from institutions where UNIX was the norm, at just the time when C compilers were becoming common and affordable. And C was much faster and smaller than the main alternatives, BASIC and Pascal.

    4. Re:Stupidest survey ever by Anonymous Coward · · Score: 0

      C was popular because it had the backing of AT&T, ditto

      Well, sort of. I don't think AT&T had much to do with directly promoting C in the arena of commercial software for microcomputers. Back in the '80s, UNIX licenses were expensive and most installations were on mainframes and minis.

      However, a lot of programmers were coming out of CS programs from institutions where UNIX was the norm, at just the time when C compilers were becoming common and affordable. And C was much faster and smaller than the main alternatives, BASIC and Pascal.

      C was the beneficiary of the AT&T antitrust settlement. Unix was part of the settlement package, to be made freely available to academic institutions, so a generation of CS students was exposed to it in the mid- to late-70's and early 80's. PC's started rolling out at about the same time, and because it was such a light-weight language it was easy to port C into the brave new world.

      Right place, right time.

  23. sometimes backwater is good by goombah99 · · Score: 0

    Look at Objective-C. No pressure for years let this language mature and not have to be a stakced series of kludges. It's a language that hasn't gone off the rails like Java did and now python is about to. It kept to it's low level roots and didn't have to build in every gimmick of the day. I gave up on java after about 1.4 because every program I had written was using deprecated syntax and libraries within a year.

    Python when I first started was brilliantly simple. I was one of those imbeciles that ridiculed the whites space, and the lack of multiple approaches to things. Then I noticed that I could read everyone elses python and they could read mine. White space is brilliant! And having single idioms for any major concept means everyone can read everyone elses program. Insanely great language. Or it was. Now it's got some much library bloat and idiom bloat that it's becoming a dark art and old code will wither as libraries go unsupported.

    Interestingly things I wrote decades ago in perl still work just fine. that language just reached maturity and mostly stopped.

    The way I compare languages now is I measure the thickness of the O Reily pocket guide. Perl is very slim-- even slimmer than C++. Yet perl without adding any external libraries has high level capabilities.

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. Re:sometimes backwater is good by BenoitRen · · Score: 1, Troll

      Look at Objective-C. No pressure for years let this language mature and not have to be a stakced series of kludges. It's a language that hasn't gone off the rails like Java did and now python is about to.

      Interesting that you should say that, as Objective-C has to be the biggest kludge of a programming language that I have ever come into contact with. The fact that it began as a C preprocessor language is still apparent today from its messy syntax.

    2. Re:sometimes backwater is good by Mike+Buddha · · Score: 3, Insightful

      Objective-C is horrible. I wouldn't wish it on my worst enemies. It hasn't gone off the rails? It's never been on the rails to go off of to begin with! It's a series of kludges tacked on to a terrible core.

      For instance: memory management. End of argument.

      --
      by Mike Buddha -- Someday the mountain might get him, but the law never will.
    3. Re:sometimes backwater is good by vux984 · · Score: 4, Insightful

      I was one of those imbeciles that ridiculed the whites space

      I still ridicule the white space.

      White space is brilliant!

      Formatted code is brilliant. Code that can't be copy and pasted reliably is still something only an imbecile could like.


      if something:
              do something
              a bunch of stuff goes here
              blah blah blah
      and this is after the if clause... for now

      is not easier to read than


      if (something)
      {
              do something
              a bunch of stuff goes here
              blah blah blah
      }
      and this is after the if clause... and will reliably stay that way

      And if the code with {} gets mangled by some editing, you just highlight it and reformat, and its back as it should be. Mangle the indenting/formatting in python, and you have to re-validate the semantics of the code.

      A few {} do not make it harder to read, the code is trivially easily to prettify with automatic formatting (nobody has to look at unindented or all-on-one-line code in a {} language even if it was originally written that way), and I have found the structure is much more resilient to editing. If I'm editing away in something like notepad and delete the "blah blah blah" line in python there are good odds the "and this is after the if clause" will end up appended to the "a bunch of stuff goes here line" and then I'll hit return and have to think about whether its part of the if clause or not.

      In C worst case, the } gets appended to that line and I press return to pop it down again, knowing that its closing the block.

    4. Re:sometimes backwater is good by Anonymous Coward · · Score: 0

      Yeah, it's interesting that there's an inverse relationship between how pretty block delimiters are versus how readable they are:

      whitespace is the prettiest but the least readable
      curlies are the ugliest but the most readable
      begin/end is in between on both counts

    5. Re:sometimes backwater is good by Darinbob · · Score: 1

      Ya, I never got the hang of Java. Everytime I started a new project with it the language had fundamentally changed so that what I knew was obsolete. Today it's mostly just used as duct tape to attach different modules together rather than being used to actually write the underlying code.

      Python was ok at the start. I didn't like the white space much because I had used Occam in the past and white space caused all sorts of troubles (editors insist on putting in tabs, every programmers had a different idea of how many spaces a tab is, etc). Getting rid of begin/end or brackets really did not seem to simplify all that much However once you get down to the details of a language, there's not much different between Python and other simple interpreted procedural languages. Really what separates so many of the new languages over the last 20 years is what object oriented techniques are used or how you roll your own. Over the years Python has grown into something with style police monitoring how it's used, extensive and confusing libraries, etc.

      Perl does what it does and it works. That is its goal. Larry Wall responded to my complaints about the odd syntax and other language design issues once with "you computer scientists are all alike, I just want to get the job done".

    6. Re:sometimes backwater is good by the_arrow · · Score: 1

      I was one of those imbeciles that ridiculed the whites space

      Good thing you don't program in Whitespace.

      --
      / The Arrow
      "How lovely you are. So lovely in my straightjacket..." - Nny
    7. Re:sometimes backwater is good by Anonymous Coward · · Score: 0

      Formatted code is brilliant. Code that can't be copy and pasted reliably is still something only an imbecile could like.

      First: copy-pasting is something only an imbecile could like.

      Second: Interesting how imbeciles write code in Haskell, Ocaml, F#... which rocket-science-level developers use. They are so lame compared to C, Java, C# which most Joe programmers use

    8. Re:sometimes backwater is good by vux984 · · Score: 1

      First: copy-pasting is something only an imbecile could like.

      Copy-Paste hate? really? how do you refactor code? or share a snippet? You retype it from scratch?

      Second: Interesting how imbeciles write code in Haskell, Ocaml, F#

      Really? Here I thought people used haskell because it was purely functional, and had pattern matching and lists, and other useful features. Are you suggesting this language's real appeal is the way it uses "whitespace" ? Who knew!

      I'd suggest they put up with the white space rules for the rest of the languages features. That's what I do when I use Haskell.

  24. 24 year C/C++ guy here by Impy+the+Impiuos+Imp · · Score: 1

    Doesn't include LISP, which is, of course, the correct answer for everything except serious number crunching.

    And the serious number crunching could probably be faster piloted in LISP, at that.

    I can't count the number of times the need for solutions to "intractable" problems comes up. Let's whip up a fuzzy blackboard system. Whuuuh?

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    1. Re:24 year C/C++ guy here by serviscope_minor · · Score: 2

      Doesn't include LISP, which is, of course, the correct answer for everything except serious number crunching.

      Not sure if serious...

      If you are, then why hasn't lisp taken over?

      And the serious number crunching could probably be faster piloted in LISP, at that.

      I doubt that. Serious number crunching usually involves lots of simple for-loops which are easy to code in C and often even easier in C++. Infix notation really helps here because then the code looks like maths.

      I think that the reason lisp never quite succeeds is because of the lack of syntactic support. Sure the syntax is super-uniform but that means everything looks the same, which means it is hard to read (and therefore write).

      I find that built-in support for common structures is really nice in other languages and gives very strong visual cues, which my brain can process much more easily.

      In fact many of the new features in C++11 (e.g. lambdas, auto, range based for, template typedfs^Wusing) don't actually provide new capabilities (unlike, e.g. decltype and &&). They just provide shorter, more succinct and more obvious ways of doing things. And it provides a languager supported way which means everyone does them the same way and it's easy to read.

      In fact that's whay C++ did in the first place. It took a lot of the things people were hacking up in C and put them in the langage so use was consistent and easy to read. For example classes can be made with structs and function pointers. Generic programming can be bodged together with macros. Both tricks are in fact common in large C projects, but different in every one.

      --
      SJW n. One who posts facts.
    2. Re:24 year C/C++ guy here by Anonymous Coward · · Score: 0

      I doubt that. Serious number crunching usually involves lots of simple for-loops which are easy to code in C and often even easier in C++. Infix notation really helps here because then the code looks like maths.

      Serious number crunching usually involves the same simple computation applied to lots of data. You can do that by means of a for loop...or you can define some declarative vectorized operations, like Matlab or APL do. Then you don't have to revectorize the "simple for loops" if you happen to have a vector-capable hardware (Cray, SIMD extensions to modern CPUs etc.).

  25. Re:Slashdot might not the right place for this, bu by Anonymous Coward · · Score: 0

    +1 this.

  26. Re:If you can get useful results quickly, it succe by VGPowerlord · · Score: 1

    Two of the most popular languages in existence are Visual Basic and PHP. Sure, they're inconsistent, oddly constructed and don't support polymorphism (which describes many programmers too, for that matter).

    For classic VB, that's true. However, VB.NET introduced real object-oriented programming to VB.

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  27. Word of mouth by msobkow · · Score: 1

    Programming languages succeed or fail by word of mouth and their resulting popularity.

    Contrary to what some say, most programmers don't pick a language because it's elegant or simple to use, but because it fits they way they think about programming. And there are as many different ways of thinking about programming as there are programmers.

    Some languages like Ruby achieve a critical mass and become "mainstream" languages. Others are equally innovate and capable, but do not achieve that mass, like Erlang.

    It's not really that one is "better" than the other. It's just that one achieved that magic mindshare of fanboy evangelism to cause it to spread far beyond what it's mere syntax or capabilities justify.

    If the simplicity and capabilities of a language were what determined it's success, we'd all be using purpose-designed languages like Ada or Modula, and C/C++/Java would not be the most popular programming languages on the internet.

    Personally my biggest beef is languages that are designed to implement a certain style of programming efficiently, while making other common styles of programming virtually impossible.

    Key example: Try converting an array manipulation algorithm to efficient Erlang. It flat out can't be done: Erlang has no good syntax for indexed access of it's lists, forcing you to do a tail-recursive iteration counting through the list elements to get to the one you want. (This fundamental flaw killed the last project I worked on, so it's a pet peeve of an example.)

    Then again, maybe it's limitations like that which prevent Erlang from achieving any kind of critical mass.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:Word of mouth by slim · · Score: 1

      Key example: Try converting an array manipulation algorithm to efficient Erlang. It flat out can't be done: Erlang has no good syntax for indexed access of it's lists, forcing you to do a tail-recursive iteration counting through the list elements to get to the one you want. (This fundamental flaw killed the last project I worked on, so it's a pet peeve of an example.)

      I have no Erlang experience, but I have experience in other functional languages. A quick Google suggests you should probably have used the 'array' module: http://www.erlang.org/doc/man/array.html

      It doesn't matter what language you're using, you can't make a linked list (for that is what an Erlang list is) have the same performance characteristics as an array. It's not a fundamental flaw. You just refused to adopt the language's core paradigm.

    2. Re:Word of mouth by msobkow · · Score: 1

      I believe the array module is still using lists internally because when I tried it, the performance was absolutely horrible compared to a language that supports arrays naturally.

      The internal data types that all atoms and objects break down to in Erlang does not include native array types, hence it's use of array emulation using lists.

      But whether Erlang supports them or not isn't really the key point. The key point is that some languages eliminate critical common facilities for the sake of "elegence" and "consistency", preventing them from being used as truly general purpose languages. After all these decades of programming, there is a pretty consistent list of features and facilities a language has to support in order to be useful, and one of the most basic is the array.

      "Pure" dialects of LISP suffer the same problem. They're too idealistic in their zeal to drop features programmers need sometimes.

      --
      I do not fail; I succeed at finding out what does not work.
    3. Re:Word of mouth by msobkow · · Score: 1

      I did not "refuse" to adopt the language's core paradigm.

      The algorithm to be implemented required arrays. I spent TWO MONTHS trying to re-write it in something more native to Erlang. It just flat out couldn't be done.

      Not all algorithms can be adapted to arrayless syntax.

      Go ahead and try to implement some of the bitmask arrays used by a compiler without an array, for example. Good luck.

      --
      I do not fail; I succeed at finding out what does not work.
    4. Re:Word of mouth by geekoid · · Score: 1

      So what do you think is better:
      Language design for certain task groups?(a language Firmware,a language for UI, etc..)
      or a language that one can do anything with

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    5. Re:Word of mouth by darkwing_bmf · · Score: 1

      The algorithm to be implemented required arrays. I spent TWO MONTHS trying to re-write it in something more native to Erlang. It just flat out couldn't be done.

      A quick Google search says Erlang is Turing complete. Maybe you're just using the wrong algorithm for the job.

    6. Re:Word of mouth by sourcerror · · Score: 1

      Turing completeness doesn't help if the lack of proper datastructures make the program too slow. (Although I find it hard to believe that Erlang doesn't have proper arrays.)

  28. Re:If you can get useful results quickly, it succe by gestalt_n_pepper · · Score: 1

    True. I was referring to the old VB6. I don't know exactly how popular vb.net is.

    --
    Please do not read this sig. Thank you.
  29. simple: imperative, portable, objects, libraries by Surt · · Score: 0

    C took off because it allowed imperative programming more easily (and portably) than assembler, and functional programming in C is ridiculously painful. Cobol had a briefly popular stint based on the strength of its libraries for business. C++ added objects, and by some miracle made functional programming even uglier. Java added a sane library (and made portability even less of an issue), and provided a pattern for functional programming so difficult to use everyone hates it instantly.

    And that's the complete history of the really popular languages. Nothing else even comes close to having been used as much, and weaknesses in those four areas are what's to blame:

    Lisp: functional by design
    Python: functional too easy, poor library compared to established java
    PHP: library too insane
    Basic: never had the libraries to compete with C, objects too late to compete with c++, inconsistencies rendered code non-portable

    etc.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  30. Designed to get a job done by itsdapead · · Score: 4, Informative

    Since PHP and Javascript stubbornly remain popular.

    One distinction is whether the language was designed to meet a practical need, or to prove an abstract point in computer science. Plus, these days, the API is probably more important than the language - its certainly more work to learn a new API than a new language.

    PHP is a crap language, but it gets the job done, makes it easy to programatically generate HTML and comes with a humungous library of useful functions. Plus, its widely available on commercial web-hosting services. When I tried some Python (after forcing myself to stop worrying and get past the 'significant whitespace' thing) , I found I wanted an XML/XPath/DOM library but all I could find were several half-finished attempts and a lot of discussion about what would be a suitably "Pythonesque" XML API (the well-defined standard DOM API sounds good to me). Maybe I was unlucky (Python isn't exactly unsuccessful) but that would have been a no-brainer in PHP, Java or C.

    Likewise, Javascript is the only game in town for scripting web pages and has become almost platform-independent. It also became joined at the hip with the HTML DOM.

    Java also had the big practical plus of being almost platform independent - and again now has a huge array of APIs that programmers have spent time learning.

    Or look at C vs Pascal. VAX Pascal, Turbo Pascal, Delphi et. al. were quite successful because they each extended the language in proprietary ways, but standard Pascal was useless for anything other than teaching algorithms because it didn't have any practical API to speak of (you couldn't even open a named file within a Pascal program - that had to be done externally). C, on the other hand, always had a "de facto" standard library consisting of the subset of the Unix API described in "The C Programming Language", full of really useful utility routines for strings, file handling, output formatting, searching etc. You could do a lot in standard C without tying yourself to a particular dialect or platform, and the pre-processor let you #ifdef your way out of any incompatibilities that you did encounter.

    C++ - a can of worms which only a language lawyer could love - probably hit the big time because of MS Visual C++ and the MS Foundation Classes. That and the fact that C programmers didn't think they had to learn a whole new language (see earlier comment about cans of worms).

    Basically, don't expect your mathematically elegant new language (with no variables, who's only operator is 'is a subset of' and which uses UNICODE accents and ligatures to increase its expressivity) to take off unless it has POSIX regexps, bindings to MS Access and a WIndows application framework.

    --
    In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    1. Re:Designed to get a job done by BenoitRen · · Score: 1

      C++ - a can of worms which only a language lawyer could love - probably hit the big time because of MS Visual C++ and the MS Foundation Classes. That and the fact that C programmers didn't think they had to learn a whole new language (see earlier comment about cans of worms).

      Or maybe C++ became popular because it introduced the object-oriented paradigm while retaining compatibility with C.

      Can of worms? You know you don't have to get into template programming and other complex C++ STL guts, right?

    2. Re:Designed to get a job done by Anonymous Coward · · Score: 0

      C++ has never been backwards compatible with C. It just vaguely looks the part.

      And in the real world you need to get into whatever complex C++ guts the other programmers on your team end up putting in your codebase. I love trying to debug when my program segfaults before main() is called or when the compiler ends up in an infinite loop because the C++ template language is Turing-complete and somebody else on the team tried to do something "clever".

    3. Re:Designed to get a job done by Anonymous Coward · · Score: 0

      C++ has never been backwards compatible with C. It just vaguely looks the part.

      Actually, it was at first. Stroustrup went out of his way to make C++ as compatible with C as he could, so that almost any valid C program was also a valid C++ program.

    4. Re:Designed to get a job done by jgrahn · · Score: 1

      C++ - a can of worms which only a language lawyer could love - probably hit the big time because of MS Visual C++ and the MS Foundation Classes. That and the fact that C programmers didn't think they had to learn a whole new language (see earlier comment about cans of worms).

      Or maybe C++ became popular because it introduced the object-oriented paradigm while retaining compatibility with C.

      Can of worms? You know you don't have to get into template programming and other complex C++ STL guts, right?

      Template programming isn't hard. The stuff that's useful 95% of the time is not hard to understand. The metaphor for me is: mention a real type (like vector<Foo>) or function, and it magically appears an instatiation of a template, if it's at all possible. The instantiation is like search-and-replace, except with some minimal sanity checks applied.

    5. Re:Designed to get a job done by luis_a_espinal · · Score: 1

      C++ - a can of worms which only a language lawyer could love - probably hit the big time because of MS Visual C++ and the MS Foundation Classes. That and the fact that C programmers didn't think they had to learn a whole new language (see earlier comment about cans of worms).

      Or maybe C++ became popular because it introduced the object-oriented paradigm while retaining compatibility with C.

      Can of worms? You know you don't have to get into template programming and other complex C++ STL guts, right?

      You don't have to get into template meta-programming or STL/Boost or RTTI to see it can become a can of worms very quickly. It is true of all languages, but from my experience, C++ can get you there very quickly.

    6. Re:Designed to get a job done by BenoitRen · · Score: 1

      You don't have to get into template meta-programming or STL/Boost or RTTI to see it can become a can of worms very quickly.

      It's yet to become a can of worms for me so I don't get what the can of worms would be if it's not what I mentioned.

  31. Perl and breasts by Anonymous Coward · · Score: 0

    OO la la! Look, you're a great gal, but you're certainly not anywhere near as well endowed in THAT department.

    You might want to take another look. Perl got some serious implants.

  32. not a good sample population by Anonymous Coward · · Score: 0

    "whom are working developers that already completed at least a bachelors in computer science. "

    This is a fairly small fraction of the total people developing software, particularly, I suspect, among those who have substantive experience with more than one language. Lots of people wind up in the developer world without going through a CS curriculum. And, in fact, one can argue that Computer *Science*, per se, is not as good a background for a developer as, say, Software Engineering. Relatively little software development (in terms of hours spent, productivity, or pretty much any other measure) is focused on algorithm development.

    Consider that in the 80s, CS departments were *just* getting started..

  33. Re:If you can get useful results quickly, it succe by Dragonslicer · · Score: 1

    Two of the most popular languages in existence are Visual Basic and PHP. Sure, they're inconsistent, oddly constructed and don't support polymorphism (which describes many programmers too, for that matter).

    For classic VB, that's true. However, VB.NET introduced real object-oriented programming to VB.

    And PHP added a Java-esque OO system for PHP5, which I think was 7 years ago.

  34. Low-Hanging Fruit by eric02138 · · Score: 1

    When I was an internet noob back in 1996, I had a vague recollection of Pascal from my CS 101 days. But for what I needed to do (interactive web pages), Javascript was the only way to go. Javascript was free, I didn't need to install anything to make it work, and it worked (sorta) on the platform everyone was using (internet browsers). Plus, there was plenty of demos and open-source code to steal.

    Later, when I needed to do server-side programming, I learned PHP. Why? Because LAMP was free, easy to install (by that point the "AMP" part was bundled) and it worked on the platform everyone was using (internet browsers). Plus, there was plenty of demos and code to steal.

    It was only much later that I realized how ugly Javascript and PHP code could be. But at the time, code elegance wasn't even on my radar screen. I just wanted to make things work. I suspect that my experience has been mirrored many time over.

  35. Pedantic answer by wonkey_monkey · · Score: 0

    Because they have to do either one or the other, duh.

    --
    systemd is Roko's Basilisk.
  36. Re:simple: imperative, portable, objects, librarie by Xtifr · · Score: 3, Informative

    C took off because it allowed imperative programming more easily (and portably) than assembler

    Also because its use in the development of Unix meant that it had a huge (by the standards of the time) body of existing code and libraries by the time it was sprung upon an unsuspecting world. The very fact that you could use this portable, (moderately) high-level language for writing a complete OS without abandoning performance was a revelation. And the fact that Unix began invading universities shortly thereafter helped as well.

    Since the rise of C, some loose compatibility with C has been a major factor too. When it came to powerful scripting languages, we had Rexx and Perl--and which one had a more C-like syntax? That's right, the one that succeeded, Perl. And Java is notable for it's C(++)-ness too.

    It's rarely one or two simple factors, but usually a whole mess of things.

    (As for functional programming, I think that's pretty much been a non-issue the whole time.)

  37. Re:Slashdot might not the right place for this, bu by darkwing_bmf · · Score: 1

    Despite fanatism for a lot of languages, I believe languages catch on when they are easy to understand by others and have an easy to understand syntax or interfaces.

    This is false on the surface. There are tons of popular languages that use a C like syntax but that doesn't mean it's the easiest language to understand if you've looking at the syntax of various languages without prejudice.

    The reason C syntax is popular is because existing programmers learn it relatively early and they pass that on to new programmers. And most programmers are too lazy to want to learn a new syntax once they're comfortable with the one they're using.

  38. Re:If you can get useful results quickly, it succe by Anonymous Coward · · Score: 0

    Sounds like your perspective on this is the "getting a quick task done", such as scripting system administration. I would suggest that that is a whole different ballgame from any software project of non-trivial size or complexity. Note that in the survey results, PHP and VisualBasic have very similarly abysmal scores for "Code written in this language tends to be reliable" and "This language is best for large projects".

  39. A language can be the price of entry by alispguru · · Score: 4, Insightful

    A language/methodology can catch on fast if it is the price of entry to a hot field. Broad, long-term popularity requires finding applications outside the original field.

    Objective C is the current price of entry for iOS development. It will stay around as long as Apple allows no alternatives, but is unlikely to grow outside that niche.

    OOP was the price of entry for GUI toolkits. It has since proved its worth as a general structure and analysis method.

    Java started out as the price of entry for applets. It eventually settled in as a portable platform for enterprisey stuff.

    Lisp was the price of entry for AI. It died back when strong AI faltered.

    Functional programming may yet become the price of entry for reliable concurrent programming.

    --

    To a Lisp hacker, XML is S-expressions in drag.
  40. Because Programmers are like Golfers by Anonymous Coward · · Score: 0

    Programmers are like Golfers. Anything they 'think' will improve their game, they're all over it.

  41. Simple by geekoid · · Score: 2

    emotional buy in.; which is one reason why software development is such a pit.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  42. Easy by Anonymous Coward · · Score: 0

    Because of marketing, period.

  43. Simple by tknd · · Score: 1

    That's easy:

    1. Ease of use
    2. Degree of current use by others

    A language generally succeeds if both of those are true. Now ease of use is a moving target; if you're writing system level code, you're not going to want to use a dynamic interpreted language, if you're writing some throw-away script however, dynamic interpreted languages become attractive.

    I'm not sure why we even need to ask/answer this question. Languages are just like products of technology. People use them based on their requirements and how popular they are. Popularity is important because if you have a problem, you know that others using the same product may have some experience with your problem so you can seek help/advice.

  44. Re:Slashdot might not the right place for this, bu by BenoitRen · · Score: 1

    I started by writing QBasic and I find the ALGOL-derived syntax of C to be easier to read and type.

  45. Uh, what? by Anonymous Coward · · Score: 0

    Why is this modded up? Can somebody translate to clear English?

  46. Re:Slashdot might not the right place for this, bu by Schmorgluck · · Score: 1

    The reason C syntax is popular is because C is a very good language for learning serious programming skills, as it will obediently perform any awful shit you ask it, then fling it back into your face harshly. It's the fucking drill of programming skills. It has got other qualities, but this one is very important for academical circles.

    As a result, most if not all serious programmers had to go through it at some point in their education, and end up reusing its syntactic elements in the event that they design a new language.

    --
    There's nothing like $HOME
  47. Is it a Boy or a Girl? by goombah99 · · Score: 1

    Yes it is, one of those.

    --
    Some drink at the fountain of knowledge. Others just gargle.
  48. Real reasons, in order of importance by aaaaaaargh! · · Score: 1

    I've taken a look at dozens or even hundreds of languages over the past 20 years, it's sort of a hobby, and I'm pretty sure that the following point are key to the success of a language:

    1. Huge number of available third party libraries and ease of installing them (batteries included).

    2. Existence of a working cross-platform GUI library with native widgets. [desktop or mobile applications only]

    3. Easy deployment of executables, good IDE and toolchain support (e.g. RAD GUI tools, build automation, etc.)

    4. Good, friendly, and non-elitist community

    5. Speed and low memory use (often go hand-in-hand, even though theoretically the opposite should be the case)

    Point 2 is only relevant for desktop applications, of course. Many otherwise great languages fail because they lack 1 and 2.

  49. Re:Because of Availability... by ZombieBraintrust · · Score: 1

    I think some languages become popular simply because they are preinstalled and free on a given platform. They are available by default so why not use them.

  50. Re:Slashdot might not the right place for this, bu by jgrahn · · Score: 1

    Despite fanatism for a lot of languages, I believe languages catch on when they are easy to understand by others and have an easy to understand syntax or interfaces. Plenty of times you see announcements of new languages which claim experimental or higher level syntax abstractions or constructions that allow the programmer to write less code, or claim to resemble human language more. Yet in practice, I don't think programmers spend most of their time actually writing the code but thinking what to write, so making an algorithm or behavior as clear as possible should be preferred to writing unnecesarily shorter code that does the same.

    Yes, clarity is important. That's why we value higher-level abstractions; why did you dismiss them above?

    I agree about "claim to resemble human language", but noone's used that argument for at least 30 years.

  51. Re:simple: imperative, portable, objects, librarie by Darinbob · · Score: 1

    I think Perl succeeded because it combined the capabilities of shell and awk into the same language. Before Perl a lot of the scripted utilities people would write were composed of several different scripts combined together; sh, awk, sed, tr, etc.

  52. Nobody has quoted XKCD yet? by Anonymous Coward · · Score: 0

    I'm surprised.

  53. Re:simple: imperative, portable, objects, librarie by Xtifr · · Score: 1

    That's not why it beat Rexx, no, though that's certainly a reason why both Perl and Rexx became popular. Of course, Rexx was more of an IBM thing, but it had its advocates even on Unix. Ultimately, Unix guys liked the more Unix-y flavor of Perl, which was due in no small part to its syntactic resemblances to C, and Rexx-on-Unix became more of a curiousity than anything else. I suspect the last place Rexx saw much use was on the AS/400, although it's still available in Debian for the true fanatics. :)

    Me, I had Perl and gcc and bash running on OS/2 back in those days. Rexx was supposed to be the glue language for OS/2, but I already knew C, and found Perl much more accessible.

  54. Re:simple: imperative, portable, objects, librarie by Darinbob · · Score: 1

    There was ARexx on Amiga which was very popular and was _the_ scripting language for a time.

  55. Re:If you can get useful results quickly, it succe by lennier · · Score: 1

    Sure, they're inconsistent, oddly constructed and don't support polymorphism (which describes many programmers too, for that matter). Nevertheless, you can get something *done* in jig time and move on with your life.

    Spoken like a true developer, and not the IT guy who has to support your little... gem... fifteen years after you "got on with your life" and left it running the corporate accounts receivable on Visual Basic 1.0 on the Windows 3.1 server in the broom closet.

    .

    --
    You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
  56. Re:simple: imperative, portable, objects, librarie by Surt · · Score: 1

    Abusive moderation alert.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  57. Ah the irony... by bgibby9 · · Score: 1

    Programmers... one of the only groups of people who are supposed to embrace logic yet, are completely ruled by emotion when it comes to someone saying something bad about "their" language!

    --
    http://www.gibby.net.au
  58. Irrationality ! by frankgerlach11 · · Score: 1

    I have created a programming language myself, with the aim of
    A) having the same safety assurances as managed langiages (Java, C#, Perl etc)
    B) being (nearly) as efficient as C++ in terms of memory and runtime
    C) being as realtime-capable as C++ or Ada (no random GC runs)
    D) having highly useful C++ concepts such as Destructors
    E) having support for multithreaded computing in the type system
    Here is it: http://sourceforge.net/projects/sappeurcompiler/
    I am an individual developer and my marketing/propaganda means boil down to being able to write comments on sites like this. Of course I tried to drum up my language by pointing out all the advantages (see above). I tried to explain people why Java is unnecessarily inefficient, why C++ is a security risk.
    What I got in response was only about two guys even using the compiler for a few minutes. Most replies to my arguments would be either ridiculing syntax, ridiculing the name or saying that their main language was already perfect. Pretty much the same in the real world, just less ridiculing. I got the impression that most programmers are either intellectually lazy and challenged to analyse new concepts or they are lazy in the sense that they do not want to learn any new language in addition to their main one. They go great lengths to defend Java/C++/PHP/C# or whatever their mainly used language is. That is to some degree rational, as learning a new language is a huge investment (time spent learning is an opportunity cost).
    Still, I find it irrational to refuse even the consideration of making a change. I find it irrational to use some tool just because many other people use it and because a big corpo (MS, SUN) is pushing it. It has now become very clear that Java is far from ideal and all the supposed benefits are mainly theoretical. In reality, Java is insecure, bloated, kills user experience with random freezes (for GC) and the VMs on mobile phones are utter alpha-grade crap. Similar things could be said about C#, but it is hugely successful because of MS pushing it.
    From a simpleton perspective (such as MBA-style reasoning), a popular language might be a rational choice, especially when you factor in employability, but from the perspective of creating excellent products and achieving best developer efficiency, they are not. Objective C was a fringe language until Apple sold their excellent quality product in the millions. Delphi/object Pascal is a fringe language because the maker cannot subsidize their IDE, but those who are in the know recognize it as efficient in terms of developer time and in terms of runtime. Delphi programs also don't freeze because of GC.
    So the conclusion is - most programmers have the same mindset as the ladies in the vertical business - "whatever makes a quick buck is a good thing".

  59. Perl by frankgerlach11 · · Score: 1

    I find it is a well-thought out language and those who bitch about syntax, implicit variables and write-only programs are actually ridiculing themselves.
    A competent software engineer will use proper variables (instead of the implicit ones) and will absolutely not be offended by a particular syntax. I find Perl is extremely well-done and I can (somehow) love it. That is something I would never say about Java, because I have used some many crap implementations (J2ME phones) and have seen so many changes and have waited so many hours for a Java app server to just start up.
    With perl, the edit/debug cycle is measured in seconds, while in Java and C++ it is normally minutes if not dozens of minutes. All the IDE I need is vi or notepad++. Lightweight, powerful, correctly implemented. The world will be a worse place when Larry Wall fades away !

    1. Re:Perl by Darinbob · · Score: 1

      My criticism at the time as I recall is that we know all about using symbol tables to find the types of variables, so being forced to put in $ or % in front of variables to get their type felt primitive. Those prefixes are mostly there as a means to overload a variable's name. Of course if you don't treat a language as a religion icon then you can accept criticism in one area without thinking that the entire concept is being insulted.

  60. In love with Perl by frankgerlach11 · · Score: 1

    If you really know perl, you will be quite monogamous. I had relationships with Smalltalk, Pascal, Python, Java but I don't miss them. My employer pays me to fuck with C++ and to prostitute myself to C#, but I am not in love with them. Perl is always there and will reliably and quickly to the little jobs I need to do - just for a hug.

  61. Only Boys by frankgerlach11 · · Score: 1

    ..will spend hours to solve insane problems of a machine. Girl's don't cut it.

  62. TIOBE Index by frankgerlach11 · · Score: 1

    ..that is what the average MBA-retard will look at. Then they will conclude that the largest market for programmers is people capable of Java, .Net and C++. That's the killer argument for them. Technical and economic merits ? They don't understand and they do not want to be enlightened.
    The western world has been brought into the crapper by this "management talent" who don't have a proper education and no inclination to dive into something intellectually challenging. Meanwhile China is run mainly by engineers and their success relative to the MBA crappers speaks volumes.

  63. C was the game-changer but C++ was too dense by Anonymous Coward · · Score: 0

    When C came out in the 70's it changed the world. But, when Bjarne tried to implement C++ in the 80's, we got into trouble, and we've been searching ever since. So, we got Java in 1995 from Sun, and a whole ecosystem based on Java. Then we got C# from MS in 2000(?) and the Visual Studio ecosystem.

    Programming in C eventually gave us UNIX and Windows (and Mac OS) but moving to C++ was, again, a tough slog. The Object-Oriented "thing" that happened to software development has never been fully resolved. Did that reduce complexity or increase complexity?

    1. Re:C was the game-changer but C++ was too dense by Javagator · · Score: 1
      Did that reduce complexity or increase complexity?

      It helped manage complexity, but it increased the skill level needed to program effectively.

    2. Re:C was the game-changer but C++ was too dense by frankgerlach11 · · Score: 1

      First, Unix came with C as a twin.

      Secondly OO programming is now heavily used and it is a cornerstone of current software engineering. Even parts of the Unix kernel were done in an OO-style (device drivers a similar to virtual function calls). But OO programming is not a Silver Bullet. It solves many problems, but certainly not the worst ones, which are created by intellectual laziness, bad management and tough new problems.

      Did Torx Screws fix all the problems of house-building ? No, but they are heavily used for good reasons (unrivalled, reliable torque+electric screw drivers). OO programming is similar.

  64. Re:simple: imperative, portable, objects, librarie by Xtifr · · Score: 1

    That's right--forgot about that one. Yeah, Rexx had quite a following for a while there.