
Top Programming Languages 2019 - lelf
https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019
======
feniv
For comparison:

TIOBE Index - [https://www.tiobe.com/tiobe-
index/](https://www.tiobe.com/tiobe-index/)

    
    
        1. Java
        2. C
        3. Python
        4. C++
        5. C#
        6. Visual Basic .NET
        7. JavaScript
        8. PHP
        9. Objective-C
        10. SQL
    

Language popularity on Github:
[https://octoverse.github.com/projects.html](https://octoverse.github.com/projects.html)
[https://madnight.github.io/githut/#/](https://madnight.github.io/githut/#/)

    
    
        1. JavaScript
        2. Java
        3. Python
        4. PHP
        5. C++
        6. C#
        7. TypeScript
        8. Shell
        9. C
        10. Ruby
    
    

StackOverflow Developer Survey
[https://insights.stackoverflow.com/survey/2019#technology](https://insights.stackoverflow.com/survey/2019#technology)

    
    
        1. JavaScript
        2. HTML/CSS
        3. SQL
        4. Python
        5. Java
        6. Bash/Shell/PowerShell
        7. C#
        8. PHP
        9/10 C++ / TypeScript (varies between surveys)

~~~
kyriakos
honest question: why so much difference ?

~~~
gravypod
Different sample sets and age distributions. I'd assume many Enterprise-y devs
don't have a history on GitHub.

~~~
weare138
These type of "top/best/most popular" programming languages lists are usually
inaccurate. It's a subjective question that has a slew of variables that skew
the results. Like Javascript, for example, is always in the top 10, usually in
the top 5, languages but being the only language we have for front end web
development and the popularity of web apps of course a crapton of developers
are using JS now. That doesn't mean JS is superior to less popular languages
or that the majority of JS devs use JS because it's better. We just currently
don't have a choice at this time when it comes to web development. Is JS
popular because it's the better language or are we just stuck using it out of
necessity which drives up it's perceived popularity? There's no way to tell
with these types of lists and honestly I think the latter is true with JS.

------
kragen
Considering HTML a programming language, and not knowing the relationship
between Arduino and C++, would seem to call into question the validity of
their conclusions. If you're going to include HTML, you should include CSV,
JPEG, Word, and URLs too.

Also, why are bash and Excel missing? They're clearly programming languages in
precisely the way HTML is not, and they're clearly a lot more popular than
some of the items on the list.

~~~
sgillen
They do at least address this:

> Below the top 10, some items of note include Arduino at No. 11 and HTML/CSS
> at No. 12. In previous years, some readers have complained that neither
> should appear on a list of programming languages. In the case of Arduino,
> the argument is that there is no such language, that “Arduino” is actually
> the name of the family of hardware platforms on which the language runs, and
> that this language should be called Wiring (or sometimes C or C++ for
> historical reasons). In this, we are led by simple pragmatism: When faced
> with a programming question, the overwhelming majority of Arduino developers
> search Google using terms like “Arduino Code for…,” rather than any
> alternative. By choosing the de facto name, we avoid deeply discounting the
> popularity of programs written for the Arduino and similar microcontrollers.

>Pragmatism is also the name of the game when it comes to HTML, with the
objection here that it is not a real programming language because it doesn’t
have branching or loop constructs. But given the huge popularity of HTML and
CSS among developers, and the fact that they are used to instruct billions of
computers to do things daily, we feel any academic arguments about Turing
completeness and so on are beside the point. A markup language is still a
language.

~~~
kragen
Yes, those are the incorrect arguments I was responding to. (The relationship
between Arduino and C++ is not historical.) Thank you for taking the time to
quote them!

------
shmolyneaux
An important thing note is that the weights that go into the rankings can be
fully customized: [https://spectrum.ieee.org/static/interactive-the-top-
program...](https://spectrum.ieee.org/static/interactive-the-top-programming-
languages-2019)

The ranking shown on the linked article shows a weighting that's deemed to be
relevant to IEEE Spectrum readers, which have a focus on Electrical
Engineering.

Setting the weighting to be 100% Hacker News, Ladder Logic ends up in the
middle and JavaScript is nearly at the bottom. Like most other Top X
programming articles, this one should be treated as a bit of fun and shouldn't
heavily inform your choice of language.

------
andreygrehov
R above JavaScript? Matlab above Go? Something tells me that the ranking
algorithm is broken.

~~~
markus92
I looked a bit at the ranking weights in the interactive tool. The biggest
factor is IEEEXplore, the repository of all of their journals. R and Matlab
are used a lot in science, whereas no one is going to do a signal denoising
algorithm prototype in JavaScript for example.

~~~
kragen
> _no one is going to do a signal denoising algorithm prototype in JavaScript
> for example._

This has been a big problem for me in Dercuano; the notes in it about signal
processing and circuits vary between impenetrable and handwavy (and, in the
worst cases, both) in large part because I'm doing my prototypes in IPython
with Numpy or in Falstad's circuit.js, and there's just no reasonable way to
include that in Dercuano itself. So I'm trying to figure out how to make
prototyping signal processing algorithms in JS a reasonable thing to do. I
don't expect to have feature parity with Octave, but I feel like it should be
possible to improve on the VT100-based user interface featured even by Octave
and Rstudio, and offer equal or better performance and enough conveniently
accessible features that it's practical for at least what I'm doing.

------
craigkerstiens
Adding another ranking that updates every few months and in my opinion affects
a bit more of reality is the Redmonk rankings:

[https://redmonk.com/sogrady/2019/07/18/language-
rankings-6-1...](https://redmonk.com/sogrady/2019/07/18/language-
rankings-6-19/)

There top 10 is:

    
    
      1. JavaScript
      2. Java
      3. Python
      4. PHP
      5. C++
      5. C#
      7. CSS
      8. Ruby
      9. C
      10. TypeScript

~~~
tutfbhuf
Hmmm CSS as programming language?

------
submeta
So happy to see that Python‘s popularity is still rising, and there seem to be
no slow down of the momentum.

I got in touch with Python in the 90s but back then it did not convince me.
Later in the 90s Perl was much more attraktive (because of Regexes and later
because of CPAN).

In the early 2000s Python was a better alternative to Perl given all the basic
data structures (Perl‘s nested lists were using pointers; how unintuitive for
a high level language), Perl‘s module system wasn‘t intuitive amd beautiful
either. Finally I could not write large systems in Perl because I of many
reasons. So I tried Python, and it immediately replaced Perl for me.

Later Ruby seemed very attractive (for someone who was heavily influenced by
Scheme and SICP). But Python seemed to have more momentum. So I played around
with Ruby, but always stayed with Python for serious tasks.

Now, twenty years later I know there are many other programming languages who
are more beautiful in my eyes (functional, for instance Elixir), but I
absolutely love working with Python: its elegance, its ecosystem, community,
resources. I can tackle all sorts of problems with it. And it seems it will be
around in the next twenty years.

~~~
kragen
Python nested lists use pointers too; this is normal for high-level languages,
as I explore in some depth in [http://canonical.org/~kragen/memory-
models/](http://canonical.org/~kragen/memory-models/). Look:

    
    
        >>> x = [[3, 4], 5]
        >>> y = [6, x[0]]
        >>> y[1][1] = 7
        >>> x
        [[3, 7], 5]
    

Octave and Tcl are the exceptions here, and of course in Racket (and maybe in
Clojure?) the pointer semantics aren't visible as they are above, but do
affect performance.

I like Python a lot (I edited the Weekly Python-URL for a while) but it took
me longer to switch to it --- most of 2000 and 2001, really. I still
occasionally reach for perl for quick command-line things.

------
muglug
Ignore this garbage list.

If you select any single crosstab (under "create custom ranking"), you can see
the data is mostly bogus.

Looking at "Google (trends)", PHP is at #48, below Perl (#37), Delphi (#40)
and Fortran (#41) - here's the actual data:
[https://trends.google.com/trends/explore?q=perl,php](https://trends.google.com/trends/explore?q=perl,php)

For "Github (active)" PHP places at #7 below Dart (#2) and Julia (#3) (which
contradicts GitHub's own stats:
[https://octoverse.github.com/projects#languages](https://octoverse.github.com/projects#languages)).

For "Hacker News" it's at #51 (which makes little sense given the number of
PHP-related articles posted here).

------
einpoklum
Regrettably, reasonable reflection refuses recognition of R's resplendent
ranking.

------
nickpsecurity
I think part of MATLAB's popularity comes from many colleges requiring
students to use it.

~~~
kragen
You're probably right.

------
markus92
Interesting to still see Matlab above Go, Swift and Ruby. Outside of some
niche areas (control systems a.o.) it's not that much used in production iirc,
and it's slowly being faded out at universities for things like signal
processing.

~~~
melling
Not sure the list is accurate. R shouldn’t be that high, for example. I
recently looked into it and bought a book to learn R, even though it seemed to
be falling in popularity.

Also, Swift is still less popular than Objective C, but SwiftUI should soon
change that.

~~~
kragen
I feel like if you're doing anything statistical beyond the basics, R is still
a better option than anything else out there. Also, ggplot2 is best in class
for producing static data visualizations, and it's R-only.

------
streetcat1
The fight is not between languages, but between full echo system of open
source libraries for each language.

For example, for web dev, the echo system of js make it the lang of choice.
For cloud native/system prog , go lang. For ML - python.

Those ranks are meaningless.

~~~
jazoom
While I can certainly see why you could call such communities an "echo
system", I think you might mean "ecosystem".

------
viach
How comes Javascript is not on desktop in this ranking?

~~~
kragen
Profound lack of knowledge on the part of those who designed the study, I
think.

~~~
jhbadger
Or the fact that PhD engineers aren't making websites for a living.

~~~
kragen
That could contribute to the authors having profound ignorance about making
websites, I suppose, if the authors were PhD engineers; it doesn't sound like
an alternative explanation, but rather a more detailed one. But we were
talking here about the authors' profound ignorance about making desktop
applications, not websites.

------
reganJohnson
I guess that it's important to remember that any results are highly coloured
by the opinions of the person making up the servey. Also, I don't see any
explanation of how they acquired the results, just that it's different and
better than other years.

------
V3ritas1337
I'm not entirely sure it is possible to make a conclusion on which language is
best.

For me, I use Python for dirty scripts, as well use C# for exploit
development, it is very hard to conclude on a topic that is highly subjective.

------
breck
If you are a new programmer, there is one major omission to this and the other
lists: binary notation.

That is the #1 language that all these others are built on, and it has
remained #1 year in and year out for 80 years (it appeared on the list in the
late 1600’s, rose to #1, and has sat there ever since).

