Most Liked and Disliked Programming Languages

Vasudev Ram pointed readers to a Hacker News poll on the subject. While the raw numbers per language are interesting, I think the percentages of Like and Dislike vs. the total votes cast for a given language are perhaps a better metric.

Thus the five most liked languages based on raw votes were:

  1. Python
  2. C
  3. JavaScript
  4. Ruby
  5. SQL

And the five most disliked languages were:

  1. PHP
  2. Java
  3. C++
  4. JavaScript
  5. Visual Basic

It’s rather interesting that JavaScript is on both lists (and I’m quite surprised that SQL had so many votes).  I haven’t included the actual numbers since the poll is still active.

Ranking the languages by number of Like votes as percentage of total votes for that language gives a perhaps more realistic picture:

C 88%
Python 86%
Scheme 84%
Lua 84%
Lisp * 81%
Haskell 80%
Rust 79%
Clojure 78%
Erlang 76%
Go 75%

(*) Dimitri Fontaine will appreciate this.

I believe those rankings will be more stable than the raw votes. Oh, and SQL ranks about 14 according to these percentages.

For completeness, here are the five most disliked languages based on ratio of Dislike votes to total votes for the language:

Cobol 94%
ColdFusion 94%
Visual Basic 89%
Actionscript 83%
PHP 76%

As they say, YMMV.

5 thoughts on “Most Liked and Disliked Programming Languages

  1. Interesting. Thanks to report this.
    But … I am not sure what we can conclude from such a poll.
    Personnaly, I hate C and love Cobol (which is at the exact opposite of the majority of voters !). The reason is very simple. I hate C because of its awfull pointer handling. In fact I should rather say “because of my unsufficient knowledge of this language”. On the contrary, due to my professional past, I perfectly know Cobol and I am very efficient with this language.
    In other words, we first love what we know.
    And this is true with so many technical objects : OS, languages, text editor and … RDBMS.
    So what the poll means is probably that C programmers represent a significant part of the Hacker News readers who voted.
    Best regards.

    • I don’t quite agree with your conclusion. The Liked leader, in raw votes, is Python and it leads the next language by over 500 votes, which is over 1% of the total votes. The second and third places, C and JavaScript, differ in votes by less than 100 votes (less than 0.2% of votes cast). The next strata (Ruby, SQL, C#, Go) is again distanced by 500 votes from JavaScript.

      That suggests the largest group of Hacker News readers are Python programmers (or sympathizers). It is very likely that many of those readers started coding in C, maybe in school (as the “new assembly”) or on the job. And many of those Python/C programmers, have had to program in JavaScript and it appears to be a love/hate relationship, contrary to the situation with Python and C. And many of those used (or still use) PHP and in them the dark force is stronger. Personal speculation: I believe many of the COBOL Dislike votes may be based not actual experience (e.g., a professor or colleague complaining about it as an anachronism) or on limited experience (as opposed to the Dislike votes for ColdFusion).

      COBOL was the second language I used professionally (after an unspeakable assembler). Although I could probably pick it up again and code in it efficiently, I think I am an order of magnitude more efficient coding in C (simply on the lack of verbosity) and another order more efficient in Python (OK, it may be exaggerated, but it feels that way).

  2. — Ranking the languages by number of Like votes as percentage of total votes for that language gives a perhaps more realistic picture

    I’d say exactly the opposite: all but the first two of these are “academic” languages, not seen much in the wild. As to COBOL, and its disdain: it’s as old as the hills thus not cool (and FORTRAN’s absence is telling), and its COPYBOOK method of dealing with data is particularly bad with RDBMS and not much better anywhere else. Most of it being written is appended to 30 or 40 year old codebases, and thus coders have to morph their thinking process to the fixed-form coding sheets that their grandpappies used. Not much fun there. Like tectonic plates, it will always be around, but move about as fast.

    • I believe what you call “academic” languages reflect the interests of the Hacker News readership. Even though they may not have a chance to use, say, Haskell, in a professional, commercial project, they still appreciate its features. Incidentally, Lisp (or LISP) is actually a year older than COBOL, so it’s not just age that matters (and readers of Planet Postgres may be aware that Dimitri Fontaine has re-coded pgloader in Common Lisp recently). Fortran was included in the survey and was 5th from the bottom in terms of raw Like votes and with a 33%/67% Like/Dislike ratio.

      For a different take on popularity and usage “in the wild”, I did a search of repositories on GitHub. I had to search for “s in:name,description,readme” because I couldn’t find a way of counting repositories by language without some search string. Here are the results for the languages mentioned above as well as those shown by GH by default. For COBOL and SQL, the zeros (or should I say NULL?) indicate there are no repositories coded primarily in those languages. The numbers reflect the bias of GH relying on Ruby and it being on the web.

      Ruby: 238639
      JavaScript: 168718
      Java: 96768
      Python: 90077
      PHP: 87323
      C: 49077
      C++: 38328
      Perl: 28967
      Shell: 28760
      C#: 26294
      Go: 5070
      Clojure: 4989
      Haskell: 4758
      Lua: 4088
      Actionscript: 3389
      Erlang: 2642
      Lisp: 2046
      Scheme: 2009
      Visual Basic: 569
      ColdFusion: 537
      Rust: 257
      Cobol: 0
      SQL: 0

  3. I started out in C++ so that is where my love comes from for that language. I can very easily see how JS can be in both. The loosely typed language combined with how powerful it has become recently makes it’s a double edges sword.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.