This is a pretty graph, but holy crap is it hard to deduce actual numbers. Things like spiral bar charts, semi-full people, and % popularity with no unit of measure really hurt what could have been useful AND pretty.
What programming language should you learn?
More than one. Specializing is good, but you should have a smattering of languages, if it’s your intent to get a job, or to have any perspective on the one you specialize in. I believe most programmers should be familiar with C or C++, and while you probably don’t have to be proficient at assembly language it’s helpful to at least understand what it is and what it looks like.
In the game industry I used C++ primarily, some C# (for building developer tool GUI wrappers over C++ libraries), HLSL for writing shaders, and briefly, Java for some ill-conceived prototyping which performed poorly and had to be ported to C++ (giving us a legacy of poor design choices that haunted us for years). Also a few different proprietary scripting languages that we developed in-house.
In my current job in engineering, C++ primarily, some C#, a tiny bit of VB, and there’s legacy Fortran code that I’m generally not responsible for maintaining but reading it is sometimes helpful.
In my hobby programming, C++ for audio plugins; C and a small amount of JS for Pebble development.
I don’t know Python, Ruby, PHP or R and have never been in an employment- or hobby-releated situation where I felt the lack.
And searching for tutorials on a language is likely not the best indicator of actual popularity among places that will hire you.
I find it fascinating that they almost completely ignore Java in all of their comments - it’s literally the most popular programming language on the planet, has the 4th highest average salary, the largest number of jobs in every region, is the language of Android development, has an enormous ecosystem of libraries, etc.
I’m also amused by their inclusion of Matlab, which I suspect has a high salary because there are a disproportionate number of Matlab programmers who have a PhD in mathematics.
Matlab is used in a broad array of engineering and scientific fields, and less commonly in mathematics, particularly in academia. For many data analysis tasks, it is a beautiful thing – that’s why people use it.
Depends on what kind of work you want to do?
Uh…hello…COBOL…you there? Still plenty of mainframes roaming about, but only if you are OK with maintenance development and not new development. (Not much new anyway.)
This is exactly right.
Likewise, studying MatLab or R primarily qualifies you for a career in data analytics.
No. MATH qualifies you for a career in data analytics. MatLab and R are useful tools you will use along the way.
Statistically, people who buy oil paints frequently have a career as artists. Buying oil paints does not qualify you to be an artist.
Where the heck is assembly, the only language that matters?
No Basic, Logo or Actionscript? Boy, have I chosen wrong in life.
Anyway, at school I was taught BBC BASIC, at university Modula-2, 68K Assembler, C, C++ and Matlab, (and VRML, for all the use that was), then dabbled in Delphi and PIC Assembler off my own bat.
Ended up writing in LUCOL (Lucas’ proprietary language), and then Ada.
The principles read across, I reckon I could pick up other languages fairly easily. Or could, it’s been 10 years since I was a software engineer.
C has a status somewhat like a classical spoken / written language, in that many subsequent languages were designed and implemented in C, and educational models for other languages (e.g. “Hello, World”), are modeled from educational models pioneered within C education.
My two unsigned ints on the matter.
I’m always looking for an excuse to post this:
How is there not a onebox implementation for XKCD?
Sure, learn some of these languages. Then learn a Lisp. Then maybe learn Haskell.
?? no verilog? lol
Perl, written badly, procedurally converted to python, then converted back.
It is the only true whey.
sounds like they could have used a statistician
The one you wrote a compiler for.