Which Programming Language Is Most Popular - The Final Answer? (zdnet.com)
An anonymous Slashdot reader writes: Following a common technique among political pollsters, a technology columnist combined the results from various measures of programming language popularity for a more definitive answer about the most important languages to study. He used IEEE Spectrum's interactive list of the top programming languages, which lets you adjust the weight given to the number of job listings and number or open source projects, then combined it with the TIOBE Index (which is based on search engine results), and the PYPL Index, which checks the number of tutorials for each programming language on Google.
The results? "The top cluster contains Java, C, Python, and C++. Without a doubt, you should attain familiarity with these four languages." He points out they're not tied to a specific programming platform, unlike languages in the second cluster -- JavaScript, C#, PHP, and Swift -- while the last two languages in the top 10 were Objective-C and R. "The C-family of languages still dominates. Java, C++, C, C#, and even Objective-C are all C-based languages. If you're only going to learn one language, you should pick one of those." But his ultimate advice is to "learn multiple languages and multiple frameworks... Programming is not just an intellectual exercise. You have to actually make stuff."
The results? "The top cluster contains Java, C, Python, and C++. Without a doubt, you should attain familiarity with these four languages." He points out they're not tied to a specific programming platform, unlike languages in the second cluster -- JavaScript, C#, PHP, and Swift -- while the last two languages in the top 10 were Objective-C and R. "The C-family of languages still dominates. Java, C++, C, C#, and even Objective-C are all C-based languages. If you're only going to learn one language, you should pick one of those." But his ultimate advice is to "learn multiple languages and multiple frameworks... Programming is not just an intellectual exercise. You have to actually make stuff."
Yeah, but we wrote the script that spidered, parsed and combined all these results in Perl...
Seriously Miss Universe is only once a year. Yet I'm seeing "which is the most popular language" every month or so here. Who gives a shit? Certainly not your CPU. It all gets compiled down to assembly anyway. THAT is the most popular language, even if few humans code in it nowadays all computers read it.
Seven puppies were harmed during the making of this post.
Seriously, this is the dumbest most "hey lets try to generate views by ranting comments" stupid bullshit I've seen in ages. That is taking into account the completely unrelated US politics bullshit that has been barfed out of the firehose these days.
Popularity of a language is immaterial to the usefulness of a language, to the creation of solutions with whatever language, and certainly will never have a final answer.
What the sincere fuck Slashdot.
Ice Cream has no bones.
As you can C there is only one Programming Language to rule them all :)
I'm amazed that computers still can not simply take commands spoken by the average speaker of the nearly universal language "English" and perform those instructions to the letter. Curly braces, tabs, spaces, none of that should matter.
Time is what keeps everything from happening all at once.
The author says you should learn multiple languages, which I think is correct. The "popularity" question is really just a way to figure out which languages it's most important to brush up on if/when you're looking for your next job.
And there's really no surprise there. The "C family of languages," and also Python, is a pretty good start.
Pascal.
If you are not some autistic savant and want to earn a decent living with plenty of work opportunities, learn PHP and an accompanying framework and you will be sweet!
https://twitter.com/SlimeGirlfriend/status/780107318650347520
The language du jour can be the most popular topic in any given year. What really matters is how effective a language is for solving a problem and how easy it is to modify when you're solution has bugs.
Anons need not reply. Questions end with a question mark.
Indeed. The "money" languages are Php, C-sharp, and Java, for good or bad.
I'm curious why the intro called Php "tied to a specific programming platform". I'd like clarification on that.
Table-ized A.I.
Man I am falling behind... I have never heard of the Which programming language and here we are told that it is the most popular. And I thought I was a software professional. BTW just so I have straight is it WHICH or Which or just which - I don't want to embarrass myself at the next meeting when I propose we do the next project in Which.
Yes, we moan and groan and point out flaws in the methodologies, cite counter-examples etc. It applies to both the topic of this thread, "Which language is most popular?" and also the similar question, "Which language is best?" But the investigations will not go away because people really, really, really want to know. Programmers starting out want to know so they can find good jobs. Corporations want to know what language to use to build up their own particular software edifice. And finally, computer scientists want to know because they're scientists (Yes, they really are, some of them anyway.) And it piques their scientific curiosity and finding a way to determine the answers is a challenge, and they want to be able to design better languages.
In theory, theory and practice are the same; in practice they're different. (Yogi Berra & A. Einstein)
I don't think I could step back into the stone-age IDE's and features of Java,
Compared to C#? This is how we know you're trolling.
"First they came for the slanderers and i said nothing."
People who primarily program in C are probably not writing the same kinds of programs that people who program in PHP, Java or C# are making. C people are writing for performance, compactness, an embedded system or for an OS. PHP people are probably mostly web services type people. C# makes it very easy to put together something to stick in front of someone's face. For example I recently put together a GUI front end in C# that makes calls to a REST based API on a web based management tool, because it was hosted off site, slow and required a lot of navigation to get what you wanted. The clicking, and wait 10 to 15 seconds then click again was replaced by a series of combo boxes in a windows form so that you could select what you wanted to do, type in a parameter that gets input validated before the web call is made and hit submit. Things that were on separate web pages were all front and center. Of course Java is for portability, serverlets, and Android applications. If you know Java, you can pick up C# and vice versa. I've converted simple applications C# to Java and simple Java to C# by pasting the Java code into visual studio as-is (or the C# code into Netbeans as-is) and started doing find and replace for most of the obvious stuff. Hit compile and see what error came up, ok need to replace "string" with "String", Console.Write with System.Out.Print. Replace a TryParse with a parse and a Try/Catch. In the end they start to look more and more alike. If your IDE is a fairly helpful kind, it will auto-fix silly things like capitalization along the way. Heck I love how easy it is to decompile C# and Java so I can see how other people do stuff when it's a closed source application.
Care to clarify? as a C# developer, coming into contact with the java world always does feel like going back to 10+ years ago.
I prefer driving an automatic over a manual transmission too.
Well, if you're driving a car, for sure. But it would be a serious mistake to install an automatic transmission in a freight locomotive or heavy truck.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
Even if the new language turns out to be a dud it's still a good exercise since it demonstrates to an employer (and to yourself) that you are motivated, can adapt and are capable of learning new skills.
My best advice to all of you engineers in the Class of 1890 is to bet your careers on coal-powered steam. Yes, we hear talk of internal-combustion this and electric-power that, but they are all just expensive novelties. Coal is efficient, it provides for many jobs among the lower classes in the mining industry, and is also unwasteful in that most of it literally disappears into the sky, far away from the refined mouths of gentlemen like yourselves.
Besides, the electric power proposals proposed rely on coal-powered steam, so why not just cut out the inefficient middle-man?
All of the great engines of our industry today are powered by coal-powered steam. Would you have us return to the days of the wind-mill or water-wheel? I think not.
Believe me, young engineer, you will never want for a well-paying career if you just stick with coal-powered steam.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
In other news, space is the the final frontier. And tab is eight spaces.
Programming is not just an intellectual exercise. You have to actually make stuff.
Shit.
Starting with the IDE, Visual Studio is way behind the Java world unless you start adding plugins like resharper.
As for the language, Java hasn't been standing still, a lot of the features that were missing before have been added in the newer versions of the language.
Then there is nuget which drives me crazy and I hate. TBH recently he C# world is becoming too much like the node.js world for my taste.
"First they came for the slanderers and i said nothing."
A serious mistake, indeed, if you put an automatic or manual transmission on a modern freight locomotive as they typically operate with fixed gear ratios. Most modern locos are diesel electric and speed control is accomplished by controlling current and switching motor coils between parallel and serial configurations.
Of course this is a hardware problem and not a software problem. Besides, from the programmer's point of view there may be a virtual loco machine that would appear to the programmer as a set of gears...
The only thing that is relatively C-like in Java is the syntax
...and if you take that as the definition of "C-based" then every language mentioned in TFS is "C-based" apart from Python. Silly article.
Also silly because the hard bit of learning a new "language" is not the language per se (all the languages discussed are multi-paradigm with a procedural/OO slant - no Lisp/Smalltalk/Haskell in that list) but the framework(s) and APIs associated with a new platform (which is usually why you are switching language).
In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
Also, many will argue that Java is still missing "a lot of the features" that have yet to be added to newer versions of the language
The copying goes both ways. Maybe eventually C# will get a decent time package like Nodatime.
"First they came for the slanderers and i said nothing."
... one should not confuse "popular" with "much-used" or "in demand". Often, one programs in a language because it is required (legacy, sunk cost decision, etc.), but it is not a popular choice.
Free, as in your money being freed from the confines of your account.
The only thing that is relatively C-like in Java is the syntax
...and if you take that as the definition of "C-based" then every language mentioned in TFS is "C-based" apart from Python.
R is even further away than Python. I would still consider Python being close in mindset to C. Compare mental gymnastics required for C/Java programmer to switch to Python, versus moving to Lisp, Haskell or Prolog.
While we can discuss how far Python is exactly from others in that family, Java is really, really similar to C++. Especially old java to old C++. Real difference starts when you start going into non-trivial template programming in C++ (visible in boost in some places), but your 'normal Joe' run-of-the-mill code is really same thing. Biggest difference in everyday use (memory management) is NOT what differentiates family of languages.
No it doesn't, C#'s just classified under the second category because it's still largely Windows-centric. I'm guessing SQL often isn't reported because it's being used through an application written in another language.
Locomotives are practically all either electric (no variable transmission at all) or diesel-electric (the ultimate "automatic" transmission; one with infinite ratio selection). Really heavy equipment almost always has an automatic transmission of some sort. The Caterpillar 797 400-ton mining truck (4000 hp) has an automatic transmission with 7 forward speeds and a torque converter.
Everything else is just a way to translate design into a language a compiler can translate into machine language.
Curious to see if this gets voted up or down.
"So learning how to learn languages is as important as learning a language -- and the best way to do that is to learn more than one."
You mean how to program, i.e., programming fundamentals, the stuff they teach in computer science.
It will be the language least suited to your task, but insisted upon by your managers.
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
SQL and any reasonably modern programming language (or even some of the older ones) is pretty useful, a long as you know your database stuff.
There is, as yet, insufficient data for a meaningful answer.
The Caterpillar 797 400-ton mining truck (4000 hp) has an automatic transmission with 7 forward speeds and a torque converter.
That's a bit heavier than I was thinking of, but I have to say, that surprises me. Torque converters tend to slip under heavy loads. What am I missing?
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
It is "C-based" because of the syntax. That is exactly what it means.
From my own point of view it's about what job your doing at the time
A lot of devs take they're favored language and say it's the bee's knees regardless, so don't often provide an objective view
Device Drivers
Ideally you want maximum speed and the least amount of code as it's likley the routines within Drivers
will be called lots and lots of times by applications further up the chain
Usually **C** is the favored choice for this
Desktop / Window Managers
Again your facing a lot of code thats going to be called repeatedly lots of times
but there's going to be a lot more complexity involved here
So ideally you want something as close to **C** as possible but with object orientations with Class's etc, i.e. **C++**
Desktop Applications .Net but it's libraries have become a mess .Net Core has the ability to compile down to native code, and is more feature rich
This is one of the two that most people will write for usually
Linux tends to favor **C++ or Java**, Windows tends to favor managed **.Net** Applications
I see Java being more of a forerunner of
The latest
meaning you get a whole bunch of syntactic sugar you simply don't get with other languages (see Reactive Extensions or Entity Framework)
More features / easier to use = less time to get it to work, less code, easier to read, quicker to fix
Website Applications .Net (specifically .Net Core) jumping ahead
This is the second of the two that most people will write for
Again the number of options available is massive, but personally I see
It's more feature rich, which means businesses will need less work time to implement a given feature
and it's more type safe (vs PHP for example) meaning less likley to have problems with hacks or leaks
Administrative Scripts
A lot of this depends on the environment your using, Linux for example has Bash scripts Ruby etc
Windows has Powershell
**Python** is my favorite here as it's cross compatible and easy to debug with Visual Studio or PyCharm, easy to read and has object orientation built in with a ton of libs
but I bet that most of the code I write is in posix sh, bash or perl
Perl, yeah. I like it a lot too.
But sometimes I need to be able not only to write, but also read what I've written.
To determine what a piece of code actually does.
Or if it was simply my cat walking over the keyboard.
Or it it was my cat that successfully patched a mission critical Perl-script by randomly walking across my keyboard...
~~~
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Fourteen different ways to determine language popularity weren't enough -- we need a Fifteenth to Rule Them All.
Give me something comparable for Python and I'll be done with Perl for good.
Anaconda doesn't quite give me the same communitarian, open sourcey feeling.
How good political posters are at what they do.
Swift in the top 10? Good lord.
And Java is a C based language? You might as well say it is a Fortran based language.
:T:R:A:N:S:
D language for me. I also like Euphoria, Forth, and LisP.
The language you write in most is the most popular language to you.
If you work in Java, C#, or C++, you will have plenty of jobs available. If you know two of them and have descent coding skills you will be head hunted constantly.
Knowing multiple languages makes you better.
English is my first language, but I learned Spanish as my second language. I didn't fully understand many of the grammar and other language concepts in English until I learned Spanish. Learning Spanish helped my English more than the study of English did.
Likewise, I didn't fully understand delegates and events in C# until I really started coding in JavaScript, a language that is extremely callback heavy, so much so that JavaScript can lead one to call back hell. Each language takes advantage of different features and logic and do so in different ways. Seeing how two different language implement the same feature actually helps you better understand the concept, not just use the code without fully understanding it.
So which language is popular doesn't matter. If you know two languages or more well, and can solve problems, you can probably be successful in any language.
For rapid development in Business Apps environments, I recommend C#.
I first learned in Java because Java is the most taught language in schools. Newbies, like college students, do the most searching on the web. That sways the stats to make Java look way more popular than C#. However, multiple checks for available jobs have shown C# to have as many or more jobs that Java. Also, the # character just isn't handled by everything as well as it should be and makes C# stats inaccurate. The # character causes a lot of C# stats to be lost and/or not properly counted.
IDE: Visual Studio is so far beyond other IDEs, nothing else even half as good. Maybe not even 1/3 as good. The free version of Visual Studio takes away any issues that used to exist, such as it being too expensive. .NET Core and the open source of .NET Core is creating a lot of buzz.
Language: C# has a lot of features and is fast to code in.
Mobile: With C# (using the now free Xamarin library), one can write mobile Apps for iOS, Android, and Windows. C# provides the best native cross platform development experience for mobile apps out there.
Web: Whether you do WCF or WebAPI or MVC, you have some great options for coding the backend and frontend in C#. Though you can't completely get away from JavaScript for front end.
Verbosity: I write less code in C# to do the same things in Java and C#.
Buzz:
Oracle is not pushing Java forward like it needs to be pushed. If Android hadn't based it's primary language on Java, Java would be following Open Office into its slow demise.
I think it is the best to check actual trends in coding industry, and you'll have the best insights if you visit some online community about coding, or check number of posts/projects done in particular programming language. My advice is to use this page : https://www.livecoding.tv/learn/ and pick your favorite between most popular languages (with most projects & money). Good luck and let the force be with you!
The Caterpillar 797 400-ton mining truck (4000 hp) has an automatic transmission with 7 forward speeds and a torque converter.
That's a bit heavier than I was thinking of, but I have to say, that surprises me. Torque converters tend to slip under heavy loads. What am I missing?
Accurate control is much more important than raw power or efficiancy.
So where is Clarion?
http://softvelocity.com/
Used all over the world, but only by people that know things... 8-)
Am I the only one to think the real sensation here is R conquering the top 10?
I am sorry who uses Python for anything serious!?
Martley, Near Worcester UK.
Makes sense. The underlying point that I was trying to make is not that machines over a certain size shouldn't have manual transmissions, but simply that automatic transmissions are not the right tool for the job all the time.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
True. And those big transmissions used in heavy stuff are not much like the automatic transmissions used in personal cars.
Automatics are getting better, but I still have a manual in my car! 8-)