Posted
by
msmash
on Tuesday March 13, 2018 @04:40PM
from the closer-look dept.

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.

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.

"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

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.

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.

Just because it appears to work doesn't mean that it's good code. A bubblesort works, but if you're using it on large data then it's a terrible idea. Copied code may contain security vulnerabilities, inefficient algorithms, or subtle bugs that aren't found in cursory inspection or token amounts of testing but which cause data loss in real-world use.

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

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

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.

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

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.

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

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.

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.

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.

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.

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.

And they used the term web tech right there in the summary. I'm starting to think there are people who search the internet just to find places where they can inform people that HTML and CSS aren't programming languages.

So you're not talking about this survey then, right? Because that they never called HTML a programming language. They used the term "web tech" when referring to HTML, and even titled the list "Programming, Scripting, And Markup Languages" to be clear, and they STILL get called out for calling HTML a programming language, AND the comment gets modded up. Everyone is aware of what HTML is, but yet they felt the need to add the (un)necessary specifics just because of comments like this, and they STILL get ac

I was referring to the small subset of javascript that behaves like C, but doesn't require memory management, types, weird function pointer definitions or long compile times via a ridiculous build system just so it can work on a single architecture.

It seems like every few months this gets posted here.
These surveys are ridiculous anyway. I'm developing in language XYZ because my employer is paying me to work in it. I am not able to just start development in ABC just because I want to.

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.