C Isn't The Most Popular Programming Language, JavaScript Is (networkworld.com)
An anonymous reader quotes Network World:
U.K.-based technology analyst firm RedMonk just released the latest version of its biannual rankings of programming languages, and once again JavaScript tops the list, followed by Java and PHP. Those are same three languages that topped RedMonk's list in January. In fact, the entire top 10 remains the same as it was it was six months ago...
Python ranked #4 on RedMonk's list, while the survey found a three-way tie for fifth place between Ruby, C#, and C++, with C coming in at #9 (ranking just below CSS). Network World argues that while change comes slowly, "if you go back deeper into RedMonk's rankings, you can see slow, ongoing ascents from languages such as Go, Swift and even TypeScript."
Interestingly, an earlier ranking by the IEEE declared C to be the top programming language of 2016, followed by Java, Python, C++, and R. But RedMonk's methodology involves studying the prevalence of each language on both Stack Overflow and GitHub, a correlation which "we believe to be predictive of future use, hence their value."
Python ranked #4 on RedMonk's list, while the survey found a three-way tie for fifth place between Ruby, C#, and C++, with C coming in at #9 (ranking just below CSS). Network World argues that while change comes slowly, "if you go back deeper into RedMonk's rankings, you can see slow, ongoing ascents from languages such as Go, Swift and even TypeScript."
Interestingly, an earlier ranking by the IEEE declared C to be the top programming language of 2016, followed by Java, Python, C++, and R. But RedMonk's methodology involves studying the prevalence of each language on both Stack Overflow and GitHub, a correlation which "we believe to be predictive of future use, hence their value."
is more popular than oxygen. Millions have already switched!!
slashdot: A failed experiment.
Good. Don't judge me, JavaScript has always been my programming language of choice, and always will be.
CSS is hardly a programming language. Thus, RedMonk can be safely ignored.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Is this a joke??? JavaScript is a SCRIPTING Language, not a PROGRAMMING language.
But RedMonk's methodology involves studying the prevalence of each language on both Stack Overflow and GitHub, a correlation which "we believe to be predictive of future use, hence their value.
I know smartphones are all the rage, but there are tonnes of old school embedded devices out there and tonnes more still being developed. By old school I mean run on some embedded-type CPU or ASIC, run some custom OS, and only have a C compiler available (probably the one written by the team that bootstrapped development of the initial version of the device).
I doubt that developers working on those devices regularly post their code to GitHub and fairly positive that not many of them would post to StackOverflow asking how to make a flubord close with a genie effect on Ubuntu using clang when there is a PS/2 mouse connected.
A methodology that relies on GH and SO posts is likely to be strongly biased toward new web-based and open source development.
These rankings are all based on publicly available sources. i.e. someone's 100,000 line monstrosity of a node module that no one uses gets factored in.
A useful (but completely unobtainable) benchmark would be USD revenue/generated per line of code. Unicorn's don't count, only actual revenue does. And everyone is going to balk and say that doesn't treat open source projects fairly but at the end of the day someone has to put food on the coders table. My guess as to what actually pays the bills is C/C++, followed by Java. I'm guessing using this benchmark Perl and maybe even Cobol actually rank above Javascript. Yes, there is a lot of shit on npm and github, that doesn't mean anyone is actually doing anything useful with it.
Is this actually measuring popularity, or just usage?
Just because something's used a lot, doesn't mean it's actually popular with the people who use it...
systemd is Roko's Basilisk.
I certainly write some JavaScript. But it doesn't mean I like it, or even that I chose to. I just don't have the choice. Sure, I can (and do) use TypeScript or CoffeeScript, but they all suck and I would choose any type-safe language over them if I could. JavaScript is unfortunately the only language that the browsers support. I really hope that WebAssembly becomes a real, usable thing soon, and that better type-safe languages for the browser emerge. Or even better: that existing languages, like Kotlin, start targetting it and that a saner ecosystem emerges around it. I'm sick of JavaScript, and even more of its awful ecosystem (NPM, etc.)
"No claims are made here that these rankings are representative of general usage more broadly. They are nothing more or less than an examination of the correlation between two populations we believe to be predictive of future use, hence their value."
There's a whole pile of disclaimers at the bottom of their list, this being one. So that's already addressed.
...a correlation which "we believe to be predictive of future use, hence their value."...
If that is valid, I'm sure Redmonk has the historical data that supports the assertion.. Why not publish it?
.
Javascript is a "programming language"?
Yes, it is.
So when do we see an OS written in Javascript controlling all aspects of a pc's motherboard, processor etc?
Irrelevant to whether something is a programming language or not.
systemd is Roko's Basilisk.
Why do you think that's impossible?
Required reading for internet skeptics
Javascript, OK. PHP yes, and Java Yes. How the hell is CSS a programming language?? Is a conf file a language? If writing a document (like HTML) is a language, then Excel is probably the most popular, followed by MS Word.
Clearly, IEEE has more experience and is more believable. (And yes, I am an IEEE member, but that does not really biais me.) The methodogy used by IEEE spectrum is public [1]. And it also takes stack overflow and git hub as indices. Though that is not the ONLY thing it uses.
There is a saying in data mining: I'd rather have more data than a better algorithm.
[1] http://spectrum.ieee.org/ns/IE...
Regardless of the 'distinction' between scripting and programming languages, the continued use of Java and Flash presentation just points out how low on the scale of things security falls.
Granted I am a hardware guy and not a programmer I think security should rate nearly as high as general user friendliness.
errr....umm...*whooosh* *whoosh* Is this thing on ?
Irrelevant to whether something is a programming language or not.
Nevermind that you in theory could do all of that with javascript. It would be inefficient as hell of course, but efficiency doesn't make or break a programming language, otherwise assembly would be the only game in town.
Programming languages are all general-purpose in some important senses, since they're all Turing Complete, but in practice they tend to have rather well-defined contexts and purposes. In a lot of ways I think asking "Which is the most popular programming language?" is a lot like asking "Which is the most popular hand tool?". The question doesn't make a lot of sense without some context.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
Yet another useless programming language ranking. First they do not define what most popular means. The text suggests it means the most used language. In embedded systems it is C and C++. As embedded systems are a super widespread typenof system a lot of programmers are required. Hence it is very popular there. In contrast JS is only relevant for UI and lately small nodejs services. Most stuff in the internet runs different engines. Counting projects on github only shows the number of free or at least fancy projects , but no embedded company or other larger SW company is storing their intellectual property in the US and with an external service.
I wonder why.
thegodmovie.com - watch it
it's a case of misleading headlines (yeah, shocking)
as others have pointed out, the authors don't make any claim that their list represents the 'most popular languages', just that those languages enjoy particularly high visibility on two specific platforms - github and stack overflow.
you have a virtually infinite number of ways to count "popularity", some more useful than others, but each of them inevitably somewhat arbitrary.
last time I checked, oracle claimed java to be the world's most popular language, and by the way they measure it, they must be right.
heck, you could instead count each web pageview with one line of js as instance of 'program execution', count the big number and have a different winner. don't take it too seriously.
"Whenever people agree with me I always feel I must be wrong." (Oscar Wilde)
There is a mass of C code that will never be published in Github or Stack Overflow. billions of devices, propriety software and systems. I am sure the percentage wise C is on the decrease but using Github or Stack Overflow to measure that is seriously flawed.
Javascript is a "programming language"?
Yes, it is.
So when do we see an OS written in Javascript controlling all aspects of a pc's motherboard, processor etc?
Irrelevant to whether something is a programming language or not.
Some fool is bound to write a virtualization system in Javascript one of these days. Then they can implement an operating system written in Javascript on their virtualization system.
Is there a hardware Javascript engine?
In the free world the media isn't government run; the government is media run.
That the ugliest language is the most popular due to an odd set of circumstances.
Register PIO in a language without raw pointers may be difficult.
There are forks of JavaScript engines that addresses that, with calls like peek() and poke(). Or you can roll your own library for node.js
But when accessing hardware without a huge overhead, there really aren't many better ways of doing it than C and assembly. (And BCPL for you remaining Amiga aficionados out there.)
Measuring the prevalence of a language in Stack Overflow questions isn't measuring which languages get used the most so much as it is measuring which languages people have the most trouble with or are the most poorly documented. If your language is the most asked about on a help site, that doesn't mean it's popular, it means it's a PITA (and POSSIBLY also popular).
"Crayola's methodology involves studying the prevalence of each art type on both refrigerator doors and classroom windows, a correlation which "we believe to be predictive of future use, hence their value."
Some fool is bound to write a virtualization system in Javascript one of these days.....
A determined fellow did (well nearly, it's a PC emulator in JS - that runs Linux)
Anyone can put up a web page, and Javascript and PHP have a large footprint there. (I guess Java, on the enterprise server side?) It's not hard to imagine there's lots of folks that have to deal with these languages as part of their larger duties, but aren't really trained as programmers in any traditional sense. That could fuel a bunch of StackOverflow traffic for sure...
Whichever ranking you look at will be skewed by the methodology. It feels like web-oriented languages are overemphasized in this cut.
Of course, my own worldview is skewed, too. I deal more with low-level hardware, OS interactions, etc. You won't find a lick of Javascript or PHP anywhere near any of the stuff I work on daily. Lots of C, C++, some Go and Python.
Program Intellivision!
For the semi-competent, you have Java. For those that do not manage that level, you have JavaScript. For those that actually understand what they are doing, you have a large faction that prefers C and the rest is all over the place.
Just remember that we have far too many "developers" and most of them are bad at it. This thing is a Pyramid with the largest and least competent group being at the bottom with JavaScript.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Python ranked #4 on RedMonk's list, while the survey found a three-way tie for fifth place between Ruby, C#, and C++,
Their methodology according to the link is to scan github and sourceforge and determine what frequency those projects use what languages. This is absolutely asinine, as it completely precludes all closed source work. Most embedded systems, drivers, and other low level work is not going to be open source, as it is work for hire. This list can best be described as the ranking of the popularity of languages for peoples pet projects, and or what languages they use when not getting paid. I will also say that given the choice between a website with only a dozen years of existence vs IEEE with almost 100 years of existence with an interest in all things electronic and computing, I will go with IEEE every time. Sorry RedMonk, its just hard to take you seriously when you are clearly some guys blog, and you're competing with an international professional organization with membership measured in the millions and decades of exceptional science and technology reporting.
I wish I had a good sig, but all the good ones are copyrighted
They are nothing more or less than an examination of the correlation between two populations we believe to be predictive of future use
That sounds like an attempt to say "these are representative of general usage more broadly" without actually saying that.
"First they came for the slanderers and i said nothing."
It would be inefficient as hell of course ...
Most modern JavaScript engines JIT compile to extremely efficient machine code.
It is very close to C and other "close to the machine" languages.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
I did realize it was a combination of JVM and applets but as I stated I am no where near a competent programmer but rather a hardware tech. I took several programming classes while in college so I understand 'in theory' what one should be able to do as a programmer. I work with analysts and systems engineers to design, install and configure CPU's/routers/SAN storage devices and OS's but I would be hard pressed to do anything approaching programming. I'm competent enough to shell script and make use of CRON and such.
errr....umm...*whooosh* *whoosh* Is this thing on ?
I've been looking to return to programming after years of doing firmware development, doing some IT work since, and now going back to school to update my skills. In order to see what I should focus on in school I've been looking at what languages are seen most often on job postings. In no particular order I see JavaScript, SQL, PHP, Python, and Perl at the top of my list. There's some demand for C++, C#, and Ruby. I'll see some demand for things like R, Matlab, and some statistical tools, but those seem to be jobs at the local university which should not be a surprise.
What I've figured out is that there is demand for people that can program web based applications. This means JavaScript and its various libraries, PHP, Python, and perhaps some Java and C++. If we are stretching the programming languages a bit then we get into things like HTML, XML, CSS, and other markup languages. Looking at the programming course I have this fall I see it will be taught using Java, Ruby, or Scala. I don't recall even seeing Scala until today so this could be interesting.
I am armed because I am free. I am free because I am armed.
I would base a popularity figure on usage, not on the number of coders.
And since the Javascript Interpreters are probably written in C, it's impossible for Javascript to be the most popular. Any Javascript in existence runs on top of C, so C trumps it.
Now, when somebody writes a javascript interpreter that runs in javascript, we will see. And it will need to be turtles all the way down, obviously.
Agreed. JS is like the QWERTY keyboard standard, we use it because everybody else uses it: not because we like it or because it's good.
Table-ized A.I.
It would have happened over a decade earlier if the DotCon bubble burst hadn't replaced most of the old guard in Silicon Valley with H-1b's from India trained in Java.
Seastead this.
It's pretty lame comparing slow-as-mud + heavyweight scripting languages - even worse, ones that are remotely interpreted at the client, rather than actually run at the server -- with serious programming languages (and serious programmers.)
If you prefer that apps be "actually run at the server" and made in "serious programming languages", how would such apps display their results to the user? Would it be better if we were accessing applications through X11 protocol instead of through HTTP, HTML, CSS, and JavaScript? Or what protocol to access remote applications (with smaller view update granularity than the full page) would you prefer instead?
You need some assembly language to get the processor from real mode into protected or long mode. Therefore, by your "all aspects" definition, C is not a programming language.
a native binary is insensitive to machine environments
Good luck running a binary made for a Mac on any machine environment other than a Mac.
(Legally.)
It is very close to C and other "close to the machine" languages.
Getting closer all the time, and still never quite there.
This is the IEEE article: The 2016 Top Programming Languages. The link in the parent comment only shows the methods. The methods page does not have a link to the main article.
Here are some comments copied from the Top Programming Languages interactive web page that seem to indicate that the IEEE is not competent:
"Antonio Campos - 5 days ago -- middle of 2016 and people still thinking HTML is a programming language"
"RM1948 - 5 days ago -- Arduino is not a language but a development environment. It should be added into C++. The aruduino.cc site actually says they are C++."
"Tom - 5 days ago -- I don't think it makes sense to lump every assembly language into one - especially since you are making the distinction between C and 'Arduino C' for some reason."
Let us remember that from 1960 to about 2001, the language would have been COBOL not Javascript. None then or now believe it was all that great of a language. For javascript all I can say it is that it is a great write once, take forever to figure out what it is doing language. I'm not to thrilled with prototypes.
The one thing I find really surprising is that C ranks over C++. Sure there are some nasty things that can be done in C++, but I recently looked at some C code. The majority of it was replicating basic data structures and algorithms that could be fond in the STL. Very likely the C++ version would have been tighter or cleaner too.
You didn't quite get the point I think. C is used for anything in industry, you'll be having a hard time finding a serious embedded programmer using JS for example. Inherently C allows cost effective implementation where JS doesn't stand a chance. But most of this type of use cases will never show up on github. As pointed out by others the dialects for PLCs and LabVIEW would rank pretty high if this was a true representation as well. VHDL and Verilog would also rank readonably high, but these are all use cases which are difficult to monitor. So yeah it is funny working in industry if you see these lists knowing they're heavily skewed towards hobbyists. IEEE did a fairly decent attempt though.
I couldn't care less. I've never cared. I seriously doubt that I'll ever care.
What is the relevance of these scores? Should it help people somehow, for example that you should choose to work with a language that's popular?
There are tons of great jobs out there for any great developer, be that Java, C++, C, Javascript or a bunch of others. Choose the language you love to develop with and work on getting better on that instead. If you're a great developer, you will be able to find a very good job and good things will happen to you.
That said, the methodology of this score is hilariously stupid. For example, I doubt the gaming industry - which is almost pure C++ - will make an effort to save stuff on github.
How the hell is CSS a programming language?
CSS 3 selectors are a Turing-complete language (and, in WebKit at least, have their own JIT in the browser). Of course, using it as such would be completely insane...
I am TheRaven on Soylent News
Taking C code, compiling it with Emscripten into JavaScript, then running the result in a modern JavaScript implementation will give you faster code than taking the same C code and compiling it with a C compiler form 10-20 years ago.
I am TheRaven on Soylent News
Not that hard. JavaScript has TypedArray objects that allow you to have an object that encapsulates a range of memory and allows values to be read from and written to it at arbitrary offsets. The real problem is that JavaScript doesn't have a 64-bit integer type, so you'd have to read a double from the register, write it back to another TypedArray, read it back as two 32-bit integers, and perform your own carry operations.
I am TheRaven on Soylent News
Most modern JavaScript engines JIT compile to extremely efficient machine code.
It is very close to C and other "close to the machine" languages.
The Javascript (and Java) JITTers are marvels of engineering, but they're not close to C, C++ or FORTRAN in performance. Sure on some micro benchmarks, it's possible to come very close, but those tend to be pretty simple for-loops.
The problem is aliasing. FORTRAN bans it, C and C++ allow it in some cases and in other very important cases disallow it but declare it's up to the programmer to not break the rules and the compiler may always assume the rules are unbroken.
SJW n. One who posts facts.
Javascript, OK. PHP yes, and Java Yes. How the hell is CSS a programming language?? Is a conf file a language? If writing a document (like HTML) is a language, then Excel is probably the most popular, followed by MS Word.
I do think CSS and Excel (and to a point, HTML) are programming languages, but only as very domain specific ones. I never grasped that Excel was indeed a DSL until I got familiar with Fowler's book and writings on the subject. Excel is the only one that could stand on its own whereas CSS and HTML are just declarative non-turing-complete DSLs for configuration and rendering.
So I don't have an issue seeing CSS and HTML as programming languages (albeit with extremely narrow applications.)
I do agree with you in having a list that combines general purpose turing complete programming languages with narrow-field DSLs. It's like making a list of artillery pieces and bayonets and sorts them in order of popularity.
There was a blog post on Surfin' Safari (the WebKit blog) and on the llvm.org blog with a bunch of numbers when they did the FTL implementation. That showed around a 60% overhead for C to JavaScript to LLVM IR to native code with FTL vs C to LLVM IR to native code with clang. 60% is less than the speedup that we've seen in C compilers (and typically less than you'll see for the difference between a modern LLVM or GCC vs something like PCC, except in very IO-bound workloads).
I am TheRaven on Soylent News
Hi! Since when did an engineer pick the right tool for the job by popularity? Totally irrelevant survey only good for click-bait.
Trend languages tend to be more popular on trend public hosting platforms like github and more mature languages already have answers on stackoverflow and the like and therefore would have fewer questions asked. C would likely rank even lower without so many people asking questions and getting pointed at existing solutions.
The flaw in this methodology is that it assumes the fly-by-night trend languages of today will survive the test of time simply because their adoption rate is high today. The reality is most of them will vanish into obscurity with time as they always have.
Damn scriptkiddies ruined everything. Get off my lawn.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
Taking C code, compiling it with Emscripten into JavaScript, then running the result in a modern JavaScript implementation will give you faster code than taking the same C code and compiling it with a C compiler form 10-20 years ago.
Taking the same function, implementing it in interpreted BASIC and running it in a modern implementation will give you faster code than implementing the same function in the most optimized assembly code from 10, especially 20 years ago.
We don't measure CPU clocks in single digit MHz anymore.
Considering that Javascript is a scripting language and not a programming language you can't say it is the most popular programming language.
Anyway, I'm an old fart and still don't think C with its pseudo compiler that requires a run time module to function a real programming language either.
With the huge hard drives and cheap memory today; few pay attention to writing tight code and compiling to machine code that takes up minimal space.
NRRPT/RCT
The parent did not talk about CPU but about compilers (* facepalm *)
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Not that I doubt you, but I'm curious to put this to the test. Can you suggest some sample code and an old C compiler to use?
"It's a good computer... for I to BM on!" - apologies to Triumph, the insult comic dog
So you're saying slow code runs faster on a fast machine, than fast code on a slow machine?
You're not really going out on a limb, there.
Exactly... from the exposure I've had, it also seems that the "fastest computers in the world" are often used to run really poorly written code. Sure, you could take the time to optimize the code, but when you've got access to Petaflops - why bother?