2017 Top Programming Languages

55 points by julenx 7 years ago | 49 comments
  • myth_drannon 7 years ago
    duplicate of yesterday's post https://news.ycombinator.com/item?id=14811321
    • threepipeproblm 7 years ago
      I love Haskell, but... Haskell is about as popular as SQL? That makes no sense.
      • Double_a_92 7 years ago
        In real live people dont care about functional programming...
        • threepipeproblm 7 years ago
          I believe that in your real life, they don't.

          In the bigger picture functional programming has made huge inroads. Facebook has a Haskell team whose product handles up to 1 million requests per second, and it's also in production at AT&T, Microsoft, Google, Barclays, New York Times and many smaller outfits. The other day I read about a Haskell-like language being used for high-speed, low-latency trading for a hedge fund.

          But there are probably at least 100x more SQL developers out there.

          • throwaway7645 7 years ago
            Yea because almost all databases use SQL, and zillions of businesses use databases. FP is only a tiny subset of industry coding, but popular in academia and high profile companies.
            • Double_a_92 7 years ago
              Because research teams at huge tech companies totally represent the "real life" of normal companies.
            • adrianN 7 years ago
              That's because functional programmers are living the dream.
            • arm85 7 years ago
              I noticed that too, I like haskell, but I don't believe it.
              • threepipeproblm 7 years ago
                SQL may be an outlier because not that many people refer to themselves as "programming in SQL".

                Conversely, there are plenty of weekend Haskellers who enjoy discussing it whenever possible.

                • hyperpallium 7 years ago

                    How can you tell someone is a Haskeller?
                    Don't worry; they'll tell you.
              • dna_polymerase 7 years ago
                Is that how data works? "Oh it does not support my feelings so it must be wrong?!" Haskell is nice, granted, but not as popular as you might feel.
                • hyperpallium 7 years ago
                  Pretty sure parent meant SQL is far more popular than Haskell, despite parent's love.
                  • TeMPOraL 7 years ago
                    I thing GP might have implied the reverse. SQL is to databases what JavaScript is to the web.
                • diego_moita 7 years ago
                  I don't understand these kind of rankings. What are you supposed to conclude from them?

                  My point is that computer programming as an industry is so diverse and complex that these general comparisons become almost useless.

                  Some examples:

                  * If you live in a town with lots of government agencies and big corporations then it is a lot more important to understand some obscure Java or .Net framework than even mainstream languages like C or C++.

                  * If you live in a place with a big financial industry or hardware development then probably understanding the arcane details of C++ and compiler idiosyncrasies is more useful than any web-related language.

                  • mirekrusin 7 years ago
                    Something's fishy with this ranking, ie. web-only list has "Processing" before "Clojure", "PHP" before "Ruby" and "Go", for enterprise-only "C" before "Java" - I don't buy it, this data looks like garbage.
                    • rwj 7 years ago
                      Perhaps your circle of experience isn't representative of the wider community? Personally, I don't find the ranking of PHP surprising. One word, WordPress. Plus, there are probably bespoke PHP applications running in countless companies.
                      • TeMPOraL 7 years ago
                        Still, Processing as a web language?
                        • giancarlostoro 7 years ago
                          It makes sense to me:

                          http://processingjs.org/

                          There's also a whole website that allows people to learn programming by using Processing (guessing either a fork or alternative to processingjs or something else) and it's pretty popular. I think Khan Academy had a variation of it too. The canvas in the browser makes a useful tool for Processing to use.

                          There's also:

                          http://hello.processing.org/

                          Which is interactive and has a video lecture attached to it all in-browser.

                          Now if your concern is processing in production, I cannot comment on that, but for academic use (people learning programming) it's really useful. It is also useful for visual designers so wouldn't surprise me if they use it on the web too.

                      • wepple 7 years ago
                        It's interesting to play with their ranking editor. It really does highlight how variable some of these lists are depending on what you consider to be part of a "top" language.

                        For example, I'd personally completely remove stack overflow questions. It could mean a language is incredibly complex rather than important or commonly used.

                        • ricksharp 7 years ago
                          Excellent point. For example, I almost never need to search or look up documentation for React.

                          But for Angular 2, I can't do anything without looking up the documentation (at least they did an excellent job writing it).

                          So I would say you are right that StackOverflow is a better indicator of complexity than popularity.

                          • cmyr 7 years ago
                            Or it could be that the best resources for information about a specific language exist outside of stackoverflow; I think this is often the case with Rust, for instance, where I will generally turn to users.rust-lang.org, or IRC for questions that I would turn to SO for in other languages; and when I end up googling particular questions I more often end up at somebody's personal blog.
                            • throwaway7645 7 years ago
                              Perl was also hit hard by this for awhile as it had its own PerlMonks site that was where people went until recently.
                          • 7 years ago
                            • giancarlostoro 7 years ago
                              Far less likely to see Java in embedded / systems programming so I'm not surprised by C being before Java. Remember this industry is pretty big and reaches all other industries and there's also policies that companies or clients build up on.
                              • kyriakos 7 years ago
                                PHP is way more popular than Ruby in my circles so I guess it matters where you are and who you know.
                                • brightball 7 years ago
                                  Isn't it just based on search hits?
                                  • k__ 7 years ago
                                    yes, looks completely unrepresentative to me
                                  • anfractuosity 7 years ago
                                    I don't understand why HTML is in there? I can obviously understand the scripting languages you can embed in HTML being there, but they're listed separately anyway.
                                    • poggi 7 years ago
                                      They have an explanation for that in the full blog post http://spectrum.ieee.org/computing/software/the-2017-top-pro...:

                                      "(This is a great moment for us to reiterate our response to the complaint of some in years past of “HTML isn’t a programming language, it’s just markup.” At Spectrum, we have a very pragmatic view about what is, and isn’t, a recognizable programming language. HTML is used by coders to instruct computers to do things, so we include it. We don’t insist on, for example, Turing completeness as a threshold for inclusion—and to get really nitpicky, as user Jonny Lin pointed out last year, HTML has grown so complex that when combined with CSS, it is now Turing complete, albeit with a little prodding and requiring an appreciation of cellular automata.)"

                                      • shuntress 7 years ago
                                        >used by coders to instruct computers to do things

                                        I get what they are going for and I don't really disagree but by this logic chrome/firefox .exe should probably be the top most widespread programming languages.

                                        • anfractuosity 7 years ago
                                          Cheers, I hadn't seen that.
                                        • rwj 7 years ago
                                          This is a common complaint. It's not mentioned in the interactive chart, but the print article explains their reasoning.
                                        • bpyne 7 years ago
                                          I wouldn't place a lot of importance in the rankings. Instead of trying to rationalize why your favorite language is not higher/lower than others, figure out the area you like programming in, e.g. higher ed, healthcare, database kernels, machine learning, etc. Then search around for the common tool sets used in that area and get proficient at them.
                                          • yellowapple 7 years ago
                                            The fact that the Trending chart lists COBOL at all, let alone as high as 30th place, seems very peculiar.
                                            • JoBrad 7 years ago
                                              It's huge in finance.
                                            • 7 years ago
                                              • rajangdavis 7 years ago
                                                Surprised that Python eclipses everything... or am I reading this wrong?
                                                • uyoakaoma 7 years ago
                                                  It depends. If you changed the ranking there are some instances where it is trailing i.e jobs
                                                • ctz 7 years ago
                                                  "Arduino" is a programming language now?
                                                  • ratinacage 7 years ago
                                                    The name Arduino refers to a platform. This platform has its own programming language. The platform is actually a fork of Wiring[1]. It seems there is really no better name for the language other than "the Arduino language."

                                                    [1] https://en.wikipedia.org/wiki/Wiring_(development_platform)

                                                    • ctz 7 years ago
                                                      The page you linked literally says "programs are written in C/C++".
                                                  • melling 7 years ago
                                                    Swift is already in the top 10. I don't think it has been widely adopted as a cross-platform language yet.
                                                  • davedunkin 7 years ago
                                                    Where's Kotlin?
                                                    • AdamSC1 7 years ago
                                                      The reason some people are complaining about this chart is that the weighting of the sources they use seems to bias towards new technologies.

                                                      They aren't listing this based on a single metric such as 'jobs in this programming language' or 'sites run on this programming language', but more a level of how trendy it is.

                                                      They have 12 sources scored out of 100, the defaults are:

                                                      -100 "IEEE Xplore" (Publication): This will bias new popular and emerging languages as a journal is more likely to cover topical interests.

                                                      -50 "Google Trends" (Trend Tool): Google trends will also bias as the results from the trends tool are relative and not absolute. If "Arduino" leaped up in searches while "PHP" stayed the same, Google Trends would overweight Arduino.

                                                      -50 "GitHub Active" (Code Repo): This one I'm ok with, but it depends on the definition of active and how much weight is given to the size of the project. Does two projects having at least one commit in 30 days mean that WordPress' PHP repo is just as active as my_fist_Haskell repo?

                                                      -50 Google (Search): It's unclear what's being measured here, volume of searches? Volume of results? Quality of results? The other consideration is if you know a language well or have sources you trust in that language you might not be searching at all.

                                                      -30 GitHub Created (Code Repo): I think this is overweighted unless it filters out inactive repos or those with only a readme file?

                                                      -30 Stack Overflow Views (Q/A Site): This seems like it should be much higher.

                                                      -30 Stack Overflow Questions (Q/A Site): Unclear if this is questions this year, or questions total. If it is new questions this year that will heavily bias the results to emerging languages. It's also unclear if this counts specialty stack exchanges.

                                                      -20 Reddit (Social): Seems like a bias sample to include as some projects choose this as their homebase for communication and others don't.

                                                      -20 HackerNews (Social): We're also realistically a bias sample as we're more likely to talk about trendy languages even if it doesn't have a large following.

                                                      -20 Twitter (Social): I don't use Twitter enough to comment on this, but I think it is important to define what is being measured here. Raw tweet count? Reach? Engagement?

                                                      -5 Career Builder (Job Site): ...Why?

                                                      -5 Dice (Job Site): ...Never heard of it.

                                                      What's missing?

                                                      I would have liked to see jobs from LinkedIn, AngelList, Stack Overflow Careers etc included, as well as volumes of subscribers for educational sites like Udacity, Udemy, FreeCodeCamp etc.

                                                      • logandk 7 years ago
                                                        I was hoping to see Elixir on the list, but I suppose it may have been classified as Erlang?