2017 Top Programming Languages
55 points by julenx 7 years ago | 49 comments- myth_drannon 7 years agoduplicate of yesterday's post https://news.ycombinator.com/item?id=14811321
- threepipeproblm 7 years agoI love Haskell, but... Haskell is about as popular as SQL? That makes no sense.
- Double_a_92 7 years agoIn real live people dont care about functional programming...
- threepipeproblm 7 years agoI 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 agoYea 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 agoBecause research teams at huge tech companies totally represent the "real life" of normal companies.
- throwaway7645 7 years ago
- adrianN 7 years agoThat's because functional programmers are living the dream.
- threepipeproblm 7 years ago
- arm85 7 years agoI noticed that too, I like haskell, but I don't believe it.
- threepipeproblm 7 years agoSQL 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.
- hyperpallium 7 years ago
- threepipeproblm 7 years ago
- dna_polymerase 7 years agoIs 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 agoPretty sure parent meant SQL is far more popular than Haskell, despite parent's love.
- TeMPOraL 7 years agoI thing GP might have implied the reverse. SQL is to databases what JavaScript is to the web.
- hyperpallium 7 years ago
- Double_a_92 7 years ago
- diego_moita 7 years agoI 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 agoSomething'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 agoPerhaps 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 agoStill, Processing as a web language?
- giancarlostoro 7 years agoIt makes sense to me:
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:
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.
- giancarlostoro 7 years ago
- TeMPOraL 7 years ago
- wepple 7 years agoIt'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 agoExcellent 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 agoOr 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 agoPerl was also hit hard by this for awhile as it had its own PerlMonks site that was where people went until recently.
- throwaway7645 7 years ago
- ricksharp 7 years ago
- 7 years ago
- giancarlostoro 7 years agoFar 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 agoPHP is way more popular than Ruby in my circles so I guess it matters where you are and who you know.
- brightball 7 years agoIsn't it just based on search hits?
- k__ 7 years agoyes, looks completely unrepresentative to me
- rwj 7 years ago
- anfractuosity 7 years agoI 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 agoThey 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 agoCheers, I hadn't seen that.
- shuntress 7 years ago
- rwj 7 years agoThis is a common complaint. It's not mentioned in the interactive chart, but the print article explains their reasoning.
- poggi 7 years ago
- bpyne 7 years agoI 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 agoThe fact that the Trending chart lists COBOL at all, let alone as high as 30th place, seems very peculiar.
- JoBrad 7 years agoIt's huge in finance.
- JoBrad 7 years ago
- 7 years ago
- rajangdavis 7 years agoSurprised that Python eclipses everything... or am I reading this wrong?
- uyoakaoma 7 years agoIt depends. If you changed the ranking there are some instances where it is trailing i.e jobs
- uyoakaoma 7 years ago
- ctz 7 years ago"Arduino" is a programming language now?
- ratinacage 7 years agoThe 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 agoThe page you linked literally says "programs are written in C/C++".
- ctz 7 years ago
- ratinacage 7 years ago
- melling 7 years agoSwift is already in the top 10. I don't think it has been widely adopted as a cross-platform language yet.
- Ingon 7 years agoI think Swift has the potential (and the chops) to become big. IBM (and a few others) is really pushing hard on adopting it as a server side language, their Ubuntu support is pretty good, but some Windows/Android support will be welcome for sure.
- FRex 7 years agoWhich one? There are two languages named Swift:
https://en.wikipedia.org/wiki/Swift_(programming_language)
https://en.wikipedia.org/wiki/Swift_(parallel_scripting_lang...
- throwaway7645 7 years agoActually 3 if you count SwiftForth, but everyone knows Swift means Apple's new language as realistically nobody has heard of the other two outside small niches.
- throwaway7645 7 years ago
- FRex 7 years ago
- Ingon 7 years ago
- davedunkin 7 years agoWhere's Kotlin?
- AdamSC1 7 years agoThe 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 agoI was hoping to see Elixir on the list, but I suppose it may have been classified as Erlang?