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."
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.
English can, and should be, logically structured. Is its complexity that is holding back from the use by the masses?
English can be precise if you choose your words carefully. But you will soon find that you are saying or typing WAY more than if you used a real programming language to do the same thing.
Would you rather type: for (int i = 0; i < 10; ++i) {
Or: Using an integer with at least 32 bit precision initialized to zero, test if the integer is less than 10, and if so perform the specified task, and then increment the integer, and repeat the test.
Which would you rather debug?
Do you think mathematicians should also eschew mathematical notation?
Do you think chemists should describe molecules in English, rather than using formula or diagrams?
I would rather use the language that enables the most users to instruct their computers on what they want done. Stupid battles over curly braces and punctuation does nothing to further this goal. Humans have understood how to interpret human language, it is high time we taught our machines to do the same.
You completely dodged his point. Seriously, go to a mathematician sometime, tell him to write everything in pure English. None of this quadratic stuff, we only live for "x equals minus b plus or minus the square root of b squared plus 4 times the value of a times c divided by the value of 2 times the value of a". Because that's much more accessible and readable than some scratch marks, clearly.
Next up will be the elimination of slang, yes?
"Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
It should not take a PhD to ask a machine to sum 1 + 1.
(Presuming you meant "calculate 1 + 1" or "add1 and 1")
It doesn't take a PhD. It doesn't take any education at all. Most kids these days know how to do that in multiple languages.
But the problem is that the English or any other spoken language isn't formal.
In the above calculation, what did you mean by 1? An abstract integer? A cardinal number? A measure between 0.5 and 1.5?
And what is it supposed to do with the result of the above calculation? You didn't specify, so did you want it to discard the result? Execute it? Present it to you? How, exactly? Visual, audible, or tactile? As binary? With uncertainties like 2 +/- 1?
And what should it do after that? Stop? Halt? Redo? Run NOP cycles until the cows come home? You didn't say.
You have to be explicit and not ambiguous when you tell a computer to do something. We humans try to guess what you mean from the context, but a computer doesn't have that luxury. You have to provide the context. Doing so is much easier in a programming language than in English. Programming languages have a well-defined context, and you know what an instruction sequence will do. The languages are designed to avoid ambiguity.
With human languages, you don't. You have to guess from context.
If your wife says "lay down on the bed", you don't cut open a pillow and start to lay little feathers on the bed. You second-guess her and presume she meant "lie on the bed for an unspecified period of time".
And if you say "make me one with everything", you expect different results depending on whether you address a hot dog seller or a zen master.
Context is everything. And the computer doesn't have your context unless you first feed it to it.