The 2018 Top Programming Languages, According To IEEE (ieee.org)
New submitter rfengineer shares a report: Welcome to IEEE Spectrum's fifth annual interactive ranking of the top programming languages. Because no one can peer over the shoulders of every coder out there, anyone attempting to measure the popularity of computer languages must rely on proxy measures of relative popularity. In our case, this means combining metrics from multiple sources to rank 47 languages. But recognizing that different programmers have different needs and domains of interest, we've chosen not to blend all those metrics up into One Ranking to Rule Them All. [...] Python has tightened its grip on the No. 1 spot. Last year it came out on top by just barely beating out C, with Python's score of 100 to C's 99.7. But this year, there's a wider gap between first and second place, with C++ coming in at 98.4 for the No. 2 slot (last year, Java had come third with a score of 99.4, while this year its fallen to 4th place with a score of 97.5). C has fallen to third place, with a score of 98.2.
No.
Russians hacked it. Python can't be that good.
What a waste of time, I don't see how this is useful to anyone.
Admit it. All these pro-flavor-of-the-month-coding-language articles on /. are red meat for python, PHP, and Java coders who wish they could learn C but couldn't hack it. Python is popular with skript-kiddies who just couldn't concentrate long enough to learn how to use a pointer. D, Swift, Go, and others are for corporate kids who'd rather talk about coding than code. Kinda like LISP. That's for academics who'd rather talk about coding than code. Stay with those languages, especially if you are from India (we don't need more crap-C-code, thank you). I'll be over here in my cave, coding in C and assembler laughing at your forced indentation and "managed" code.
Good day, Sir.
From the TFA of TFA of TFA:
"one less source this year, as the Dice job site shut down its API"
(https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018)
Does python have rockstars? Does C++ have ninjas? Does java have 10x rockstar ninja? No!
Javascript is a 10x rock star ninja. One moment, you're sitting there, alive, than POW you're dead. And there's an asian guy with playing some sweet riffs on his guitar/sword, teabagging your mouth.
And if you're only a 1xer, that's cool too. npm has tons of high quality javascript one-liners written by the industries best 10xer and/or bootcamp homework projects. How do you know if something is the number 3 in c++? You don't! But npm has probably 30 or 50 packages to check for the number 3.
Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
I do not like your hat.
> So what are the Top Ten Languages of 2018, as ranked for the typical IEEE member and Spectrum reader?
Their membership must be a very niche market for R to outrank JavaScript in "popularity".
The article admits that different languages are used for different things. It's like making a list of "top vehicles", including cars, trucks, ferries, cargo container ships, and airplanes. Yet they go right ahead and still create a master ranking, because they can't help themselves. And we can't help but froth about it, which is the entire damn point for all of this.
It's hard to get too frothy when my own language of choice, C++, is near the top, but my own view tends to be incredibly myopic, as I work in the game industry, and C++ absolutely dominates there.
Irony: Agile development has too much intertia to be abandoned now.
Yes, this is yet another "What's the best/most popular Programming Language" and I suspect that for most people, it's not very representative.
But, as an EE I can see that this list (especially the top ten) is very accurate for the development work that I do (embedded and web apps accessing the embedded devices) and I suspect that it's pretty good for other EEs.
If you're a web, app, database developer or even involved in IT, this list will NOT be accurate.
Mimetics Inc. Twitter
"Because C/C++ give you low level control!!!"
But I say "And Assembly gives you even better low level control!!! Then why don't you people try to use Assembly then? Why Assembly is not really a popular programming language, do you think?"
C/C++ will become like the COBOL today, someday, I say! :-)
ok kids, it is up to you to save Forth. I don't see why so many people use assembly on embedded systems when it is easy to develop a customized Forth evvironment.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
Look at those dogs go. GO DOGS GO!
...when everything is a crime, everyone is a criminal.
and also
Buttsecks-on-rails!!
https://www.tiobe.com/tiobe-in...
https://insights.stackoverflow...
One thing a list like this is helpful for is anyone looking to learn a new language, or learning programming or computer science without prior experience... if your school is teaching their mainline classes in a language not on this list, that is a major red flag. Probably should be in the top 5, to be honest, given what's in the 6-10 slots.
Or, if you don't really know what you're looking to get into, other than being able to make your computer do stuff, then this might be a good guide. Start by defining the type of programming that interests you, then look at this list for the best-in-class option(s). A seasoned programmer looking for a change of pace would do worse than to pick up one of the others on this list-- just for the paradigm shifts and being forced to exercise a bit differently.
I mean, I do see some "not-on-your-life" languages in the list, especially PHP. But given the apparent demand, even that might be a good way to break into the industry for a later-life career change for someone with a technical bent. Something to do for ten years until retirement kind of thing.
I do not have a signature
Yes, engineers instead of script kiddies.
AaaaahahahaHAHAHA!
Well at least we have sex on a regular basis and get to go home when workhours end. And I also hear a little envy in there, over the fact that "script-kiddies" get more done in 3 months with their Plone Appserver / CMS than you Java/C++/C/Whatever lot in 5 years. But hey, at least you have neat specs!
We suffer more in our imagination than in reality. - Seneca
You know how a language becomes popular?
You give it away for free. It gets installed on the platforms people care about. That's 99% of it. How else to explain shit languages becoming dominant? Prime example: Javascript.
Why not just up a slashdot poll and get this over with?
Usually it's just some list made up by Ruby/Go/ Rust faggots to pretend they are significant.
BOW DOWN MORTALS Before the one true language. The Ur-language that ushers in all the false idols. The Most Holy of relics...
C
The old gods are calling. Can you hear them? It's the sound of inevitability as the young usurpers weep into their transient drinks feeling their lifeblood leak away like so much memory. What pidly followers they amassed will blow away like so much dust. And where do they turn when all they hold dear is cast about on shifting sands? The stable bedrock of C.
LOOK UPON IT'S MAJESTY and look upon your EVERYTHING and you will see it staring back at you. Your Linux, your arduinos, your Rasberry Pis, your toaster, your fridge. We are the ones who cook your food. We are the ones who drive your cars. We are the ones who hand-carry your garbage when your program closes. DO NOT fuck with us.
Just high enough above the metal to be portable as all fucking get out and low enough slide through that silicon like greased lightning. This IS your grand-daddies programming language because he knew his shit. The experience of GENERATIONS is out there and honestly eager to help. Ask on stack overflow about how the shareponit widget gets shuffled by the flub API in the .WHORE framework and you'll have a couple crickets for company. But ask for some fluent C and the fucking CHOIR comes out to play.
C is the language to learn my friends. It gets you where you need to be. It's not the last language you want to learn, but it's certainly the one you want to sharpen. Hone that to a razor edge and you can cut any problem down to size. And that's no Turing tarpit. I may program in Brainfuck and Malbolge for shits'n'giggles, but C is the workhorse of solving real meaningful problems. Bash glues yesterday's solutions together, and some pretty GUI-maker can make yet another button for a clueless suit, but you whip out C for the hard cases.
#include
int main(int argc, char** argv)
{
printf("Bro, do you even code?\n");
return 0;
}
I'd start counting flaws but I don't have all day. At least these are readily apparent.
HTML is not a programming language. It's a markup language, and although one might be able to coerce HTML5 and CSS3 together into being Turing complete that's an emergent property best thought of as a bug.
SQL is a query language. Fairly sophisticated data manipulations can be done with it, but it's typically used with an actual programming language to develop applications.
Arduino isn't a language at all. It's a hardware device which can be programmed in various languages. There is an approved IDE but more than one language supports the platform.
Cuda is not a language, but a toolkit for GPU programming that's used from multiple different languages.
Shell and assembly are each more than one language. May as well by that logic call Clojure, Scheme, and Racket part of Lisp. Call JavaScript and ActionScript both ECMAScript.
The method of looking at searches for "X programming" specifically gives an advantage to languages that don't lend themselves to search or need disambiguation like C, Go, Python, Ruby, R, S, D, shell, assembly, or Crystal. Languages with distinct names like Perl, Erlang, JavaScript, Smalltalk, ActionScript, or Matlab don't generally need such qualification.
C++ is a pretty good language. It's main problem is it's trying to be the five top languages. Just about nobody uses more than a small subset of C++ plus the underlying commonality of C (with, admittedly a dialect difference from standard C).
The problem with this is that it makes all the features obnoxiously ugly, because it really needs to squirm to maintain compatibility with all the features when it wants to handle something new.
E.G.: I want a language with a built-in garbage collector and hash tables. This is because of the area in which I'm working. It means that C++ is uses really annoying syntax and I need non-standard libraries. So I look elsewhere. But if I were already committed to C++, I *could* do the entire thing in it, and it could be just as efficient, possibly more so. BUT it would be extremely ugly and difficult to maintain.
I think we've pushed this "anyone can grow up to be president" thing too far.
and its marketing of it?
Running with Linux for over 20 years!
The ieee might be surprised, but most programmers really don't give a fuck about them and the ones who do aren't a representative subset.
I am shocked that FORTRAN IV and COBOL are not listed! (not really). But with all the Department of Defense spending and DOD subcontractors I would think Ada would be higher...
I would expect some volatility here ... but this article makes it sound like the two most used languages can be one thing last year and completely different languages the next.
... esp those over 35.
A change of that size and speed would have a lot of jarring ripples that ordinary developers would probably notice. I'm a little skeptical here.
And it matters a lot for any devs hoping to stay in tech
SQL is Turing complete. Which is somewhat terrifying, but far less so than C++ template meta-programming (talk about an emergent property best thought of as a bug!).
Socialism: a lie told by totalitarians and believed by fools.
"although one might be able to coerce HTML5 and CSS3 together into being Turing complete that's an emergent property best thought of as a bug."
Love it!
That it is, but it's not generally used to develop actual standalone software. Apart from the odd one-off ad hoc query it's wrapped by another language and often has a stored procedure or several in another (possibly different still) language.
std::unordered_set == hash table. No need to use non-standard libraries for that.
Now, what I was doing?
Hey look at those dogs go. GO DOGS GO!
SQL/PSM
https://github.com/arduino/Arduino/wiki/Build-Process#pre-processing
The comment about non-standard libraries was WRT garbage collection.
I think we've pushed this "anyone can grow up to be president" thing too far.
Interestingly enough, annoying syntax is one reason why C/C++ tends to be faster.
In python, it's equally easy to do while curr != 'sentinal' versus while curr != 1'. In c, you get annoying doing memcmp or strncmp and quickly go to the numeric based sentinal. This maps to what is *much* easier to do for the computer.
Same with hash tables versus arrays. mydata= {} is as easy as mydata = [] and I have actually seen the former and then the programmer do mydata[0], mydata[1].
And of course there are structs. C really makes you think about organizing your data and doing things that will naturally align things well for using. Versus the much more convenient, but damn near impossible to optimize structures people will build in python.
In fact, sometimes the python syntax makes the harder way easier. For example you want to read part of an array, say 3rd byte and on. In C you might have a pointer and you just do 'b = a + 3'. In python the syntax you would probably gravitate toward is 'b = a[3:]'. This however makes a copy of part of a and points b to the new copy. Python does offer it, but it's a more obscure 'b = buffer(a, 3)'.
XML is like violence. If it doesn't solve the problem, use more.
SQL/PSM isn't SQL. It's a second, optional language added to the SQL standards and competes with the likes of TSQL, PL/SQL, and PL/pgSQL. It's an optional extension with different syntax. If you're arguing (by just mentioning it) that SQL/PSM and SQL are the same thing, then we may as well say C#, C++, Objective-C, Cilk, and C-with-classes are all C. Lump Delphi and Ada into the Pascal bucket. Call SML and OCaml both just ML.
Yes, Arduino has a special preprocessor for C++. Many projects have their own preprocessors, template kits, custom configurators, or custom build systems. That doesn't mean the language isn't still C++. Visual C++ is still C++. Delphi is still Object Pascal, and C++ with Boost or the STL or some custom preprocessing that is still written as C++ is C++. The Arduino FAQ lets you know that the recommended language is just C or C++ with some custom functions and some preprocessing. It also goes on to say you can program it in any language that supports the processor so long as you link against the proper libraries. https://www.arduino.cc/en/Main...
Assembly is so more than one language. Thousands! Which one?
Sorry, but no. The annoying syntax is necessary to make the language fast only because of maintaining historical continuity AND remaining a swiss army knife. It's true that the language would have needed to change in other ways to allow the speed without the incredibly ugly syntax. And this basically would have required the language to split into syntactically incompatible subsets, probably, as I guessed earlier, about five.
That said, I will agree that if you are going to make the language maximally compatible with prior versions including keeping the "one tool fits all" form, then maintaining speed requires the (or rather some) horrendously ugly syntax. There were choices, and they didn't make the worst choices. Possibly they were the best choices given the constraints that they accepted.
FWIW, in my opinion the language made a mistake in not splitting in half back around 2000, probably a bit earlier, with one fork adopting (flexibly disable-able) garbage collection, dynamic strings, and possibly a few other things, and the other fork more or less as it went. The tricky thing would be they would need binary compatible compiled code, so you could mix the two languages in the same program. It's hard to say how things would have gone since then, but it would probably have developed several dialects that could be mixed within a compiled program, but not within the same source file.
I think we've pushed this "anyone can grow up to be president" thing too far.
... in Python
"Consensus" in science is _always_ a political construct.
I am very suspicious of a methodology that puts all of the values so close together and where assembly language even registers... That's like saying a huge portion of development work is being done on MS-DOS!
This seems more like a ranking of which languages people have the most problems with :-)
An engineer who ran for Congress. http://herbrobinson.us