Developers Love Trendy New Languages, But Earn More With Functional Programming: Stack Overflow's Annual Survey (arstechnica.com) 111
Stack Overflow has released the results of its annual survey of 100,000 developers, revealing the most-popular, top-earning, and preferred programming languages. ArsTechnica: JavaScript remains the most widely used programming language among professional developers, making that six years at the top for the lingua franca of Web development. Other Web tech including HTML (#2 in the ranking), CSS (#3), and PHP (#9). Business-oriented languages were also in wide use, with SQL at #4, Java at #5, and C# at #8. Shell scripting made a surprising showing at #6 (having not shown up at all in past years, which suggests that the questions have changed year-to-year), Python appeared at #7, and systems programming stalwart C++ rounded out the top 10.
These aren't, however, the languages that developers necessarily want to use. Only three languages from the most-used top ten were in the most-loved list; Python (#3), JavaScript (#7), and C# (#8). For the third year running, that list was topped by Rust, the new systems programming language developed by Mozilla. Second on the list was Kotlin, which wasn't even in the top 20 last year. This new interest is likely due to Google's decision last year to bless the language as an official development language for Android. TypeScript, Microsoft's better JavaScript than JavaScript comes in at fourth, with Google's Go language coming in at fifth. Smalltalk, last year's second-most loved, is nowhere to be seen this time around. These languages may be well-liked, but it looks as if the big money is elsewhere. Globally, F# and OCaml are the top average earners, and in the US, Erlang, Scala, and OCaml are the ones to aim for. Visual Basic 6, Cobol, and CoffeeScript were the top three most-dreaded, which is news that will surprise nobody who is still maintaining Visual Basic 6 applications thousands of years after they were originally written.
These aren't, however, the languages that developers necessarily want to use. Only three languages from the most-used top ten were in the most-loved list; Python (#3), JavaScript (#7), and C# (#8). For the third year running, that list was topped by Rust, the new systems programming language developed by Mozilla. Second on the list was Kotlin, which wasn't even in the top 20 last year. This new interest is likely due to Google's decision last year to bless the language as an official development language for Android. TypeScript, Microsoft's better JavaScript than JavaScript comes in at fourth, with Google's Go language coming in at fifth. Smalltalk, last year's second-most loved, is nowhere to be seen this time around. These languages may be well-liked, but it looks as if the big money is elsewhere. Globally, F# and OCaml are the top average earners, and in the US, Erlang, Scala, and OCaml are the ones to aim for. Visual Basic 6, Cobol, and CoffeeScript were the top three most-dreaded, which is news that will surprise nobody who is still maintaining Visual Basic 6 applications thousands of years after they were originally written.
Re: (Score:1)
GCC, Goat C Compiler.
Re: (Score:1)
You sound bitter, bro.
Epic comment (Score:2)
Okay, that's a new one to me so if this is the first time this comment has appeared on slashdot then I salute you madame, or sir as it may be.
Re: (Score:1)
Careful. Someone that's just been thawed out from 2001 like you needs to be aware that Donald Trump is President, kids walk around with pocket supercomputers to draw clown noses on their pictures, and porn is free.
Re: (Score:1)
Amazon does have a t-shirt with a goat and the letter C. You have to be pretty ballsy to wear that in public. Probably safer to call it a programming language, if someone asks about it..
cargo-culted copypasta (Score:5, Funny)
So a website devoted to copy+paste programming gets Javascript at #1? Oh so surprising...
Re: (Score:2)
Well,
if you don't know how to implement a Bresenham algorithm, or don't even know what it is: what is wrong in looking it up?
Re: (Score:2)
Nothing wrong in that. However if example code is then copy-pasted as KiloByte implied there are several potential problems.
Re: cargo-culted copypasta (Score:3)
If people are using Stack Overflow for copy-paste programming, then that's a testament to the quality and flexibility of the code found there.
I've personally spoken to lots of devs too intimidated to even ask questions on Stack Overflow because their impression is they aren't smart enough to properly ask.
So while your impression might be true for some visitors, there are obviously lots of talented people on there as well writing that code that gets copied.
Re: (Score:1)
"If people are using Stack Overflow for copy-paste programming, then that's a testament to the quality and flexibility of the code found there."
Er, no. People doing copy and paste programming are not exactly arbiters of quality code. The two things are entirely unconnected, the fact people use it, doesn't mean it's good, that's an outright fallacy.
"I've personally spoken to lots of devs too intimidated to even ask questions on Stack Overflow because their impression is they aren't smart enough to properly a
Re: (Score:2)
If people are using Stack Overflow for copy-paste programming, then that's a testament to the quality and flexibility of the code found there.
Your implicit assumption is that the people copying and pasting the code are capable of judging the quality of the code. I would hypothesise that people who are most able to judge the quality of code are the least likely to copy and paste code from any source.
Re: cargo-culted copypasta (Score:2)
My judgment is based on the fact those copying are getting shit done. If those copying could code, they wouldn't be copying. So the code they are copying must be pretty idiot proof or it wouldn't work.
Re: (Score:2)
Re: (Score:2)
Why not if you can save some time? Unless you are coding for your own kernel and libraries using your own compiler, you're already copying a bunch of stuff by reference.
Re: (Score:2)
If stuff is coming in a library, and assuming that it's still maintained, you have certain assurances. There will be new releases, which fix bugs. There will be security fixes and often back ports. There will be other eyes looking for security holes (and hopefully most of these will do responsible disclosure). In contrast, stuff on Stack Overflow is never intended to be shipped, and certainly not to be supported. It may omit error handling for clarity and this, in turn, may introduce security vulnerabi
Re: (Score:2)
No sane person writes a library for 5 to 10 lines. However, reviewing 5 to 10 lines for correctness should be well within the abilities of a competent developer.
The problem is when incompetent programmers copy/paste without the ability to review the code.
As for libraries, YMMV. Some are quite good, well tested, documented, and maintained. Some are fire and forget crap. Some are made by people mindlessly cutting and pasting.
Cargo cult programming is bad no matter how the bits get glued together.
Re: (Score:2)
I genuinely want to know what I'm doing different when I see these comments. I have not had the issues that you, or multiple others, describe like this.
Coding is a tool. It's a tool to get another job done and that's how I use it and I haven't had a problem finding a job or getting paid to do it.
But it means that you have to go beyond knowing the tool and how to apply it to the right situation. Anyone can swing a hammer but machinists, general contractors, and fine woodworkers know how to use that skill to
Re: (Score:2)
Maybe you're just trying to deter people from coding to reduce your competition.
Dear blog,
Today I put step one of my devious plan into action. I went to the Slashdot forums, and posted on every programing related story about how there are no paid coding jobs.
Soon, the people will think there are no jobs and find other careers. Then... all the coding jobs will be mine! BWAHAHWHA!!
Re: (Score:2)
And the rest of us want to know why you're fucking delusional.
Of course people get paid to code.
Re: (Score:1)
When I look for software engineers, I wan't more than just somebody who can code in multiple languages.
Do you have Network+/Security+ certifications? (This will get you in the door for an interview)
Do you have your CCNA? (This will increase your starting point for pay)
Show me that you have taken the effort to expand your knowledge beyond just programming. There are plenty of programming jobs out there, finding people who have more than self taught skills is what employers are looking for.
Re: (Score:2)
Certifications are easy to get, quallifications not.
But up to you if you think it helps anyone if you filter job applicants by certifications :)
Re: (Score:1)
I also wan't people fluent in multiple languages, first and foremost: English!
Deja Vu (Score:2)
Developers love trendy new languages almost as much as /. editors love posting dupes [slashdot.org].
JAFL (Score:2)
If you have some level of mastery in a couple languages, it's not hard to learn new ones. You can be an SME in one language, or a generalist in many...
On the other hand, with every new language, there is 5-20 years of experience requirement for positions for programmers residing in the US, even if the language is only one or two years old.
Re: (Score:2)
Well, kinda. If you know C, Java isn't hard to pick up. Haskell, Prolog or Lisp, on the other hand...
Re: (Score:2)
But a good part of it is knowing how to solve an problem programming wise. Being able to break it down and say "i need an if-then here, and a loop here that does this, and is there a function that validates this or do i need to write one". At that point, looking up syntax or examples works great to learn new stuff. And of course, each language has its own little differences and changes in terminology and syntax
Re: (Score:2)
Re: (Score:2)
Prolog doesn't really have if-thens or loops. In fact, the language doesn't have any traditional concept of program flow: you set rules and the Prolog interpreter will set its own course in satisfying them; you don't have any direct control over how it will do so. L
Re: (Score:2)
If you think different languages are a matter of syntax, I'm going to strongly recommend that you learn some version of Lisp or Scheme, Prolog, and Haskell. At least one of them. You need a broader perspective.
Re: (Score:2)
Of course the money's good, there's maybe 50 companies that thought it was a good idea and only 3 programmers to maintain the inexplicable, unreadable mess that is their codebase now.
Or to put it another way, O'Caml gives your codebase a distinct competitive advantage, but most Python script kiddies aren't smart enough to understand it.
You raise a good point though. O'Caml gives you the elegance of Haskell with the readability of ALGOL.
Re: (Score:2)
Other than the fact that you're a fecking dipshit, why is the apostrophe there? Is it because St Patrick's day is close upon us, to be sure?
Re: (Score:2)
That is what it was originally known as, and I'm old.
Re: (Score:2)
Re: (Score:2)
I'm saying that if the problem you're trying to solve is difficult, hiring an O'Caml programmer is a safer bet than hiring a Python programmer.
Language != Pay (Score:2)
I program for my job, but at no point did my choice of language have any relevance to my pay.
My expertise in the domain of the things I design and the efficacy with which I do my job is what determines my pay. I don't think people usually know what languages I program in.
Re: (Score:2)
The code I write is usually analysis code for me to do my job. It's not for use by others.
I sometimes release public code for use by others. E.G. Crypto library support.
My large employer has failed to employ someone who can jump into my job so far. If I get hit by a bus or win the lottery, it's likely to be a problem for my employer.
Re: (Score:2)
The reason language matters to me is that certain jobs are primarily in certain languages (or group of related languages). If software is best written in COBOL, I don't want to touch it, no matter what language. Currently, I'm working in C++ because that's what the software is written in, and it's very interesting software to work with. Back when the software was new, C++ was the only reasonable language to write it in.
HTML? (Score:5, Insightful)
Re: (Score:1)
HTML + CSS is, HTML in itself isn't a programming language.
Re:HTML? (Score:5, Informative)
Re: (Score:1)
It says it right there in the acronym, hypertext programming language.....html :P
Re: (Score:2)
Re: (Score:2)
So is powerpoint https://www.youtube.com/watch?... [youtube.com]
Turing Shmuring (Score:1)
I don't think it matters. Doing HTML/CSS well takes skill with the languages involved, especially dealing with brand/version/size differences, and fast-changing eye-candy fads. (Usually JavaScript is also involved). Language is language. Being Turing-complete is mostly moot. It takes intricate knowledge and balancing many trade-offs. Many shops split by specialties: back-end/DB, business logic, and UI, for example.
Re: (Score:2)
HTML + CSS have AFAIK been demonstrated to be Turing complete, did I get that wrong?
Any way of having execution changing later execution flow makes a mechanism Turing complete - as one can assume infinitely long programs going through every possible case of execution flow. The Zuse V3/Z3 have been demonstrated to be Turing complete under such assumptions but it was of course not in practice.
Re: (Score:1)
I call BS on any survey or programmer that considers HTML a programming language.
HTML + CSS is, HTML in itself isn't a programming language.
That's so spectacularly wrong I'm not even sure how to respond. Other than to point out, perhaps, that anybody who believes that has never done any actual programming of note.
For the record, I say this as someone who spends about 1/3 of my work time doing HTML/CSS. It can be cool (sorry haters, yes it can) but it ain't within a country mile of programming.
Re: (Score:2)
Re: (Score:2)
I'd call it a declarative language.
That I can agree on. But the scope of it and the type of logic implemented with it so domain specific, it is right there next to Excel (which itself is a declarative language that just happens to have a GUI'ish interface.) Martin Fowler was right in calling Excel the most popular DSL in the world (because it is.)
And yet, no serious discussion on programming languages include it (nor do they include XSLT, which is also a programming language.) So I don't see why HTML+CSS gets included in the same bag.
If
Re: (Score:2)
Seconded. Fatal flaw right there.
Re:HTML? (Score:5, Informative)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
I write my ECMAScript as if it were "Magical C". It ends up being easier to follow and compilers tend to optimize it better.
What the hell is magical C?
Re: (Score:2)
"Annual" survey??? (Score:1)
Specialization premium (Score:1)
Obscure languages do tend to pay more because, first it's harder to find people specializing in it, and second because specialists in such niches have fewer career and location choices if their niche dries up, and thus expect a bit more for specializing. Php or "MS.net" may pay less on average, but it's usually easier to find gigs because they are ubiquitous. Specialists tends to have bigger gaps in employment.
Re: (Score:1)
Aint there some grand AI grammer pluggin that would catch that danmed typo?