Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming

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.

This discussion has been archived. No new comments can be posted.

Developers Love Trendy New Languages, But Earn More With Functional Programming: Stack Overflow's Annual Survey

Comments Filter:
  • by KiloByte ( 825081 ) on Tuesday March 13, 2018 @03:53PM (#56254891)

    So a website devoted to copy+paste programming gets Javascript at #1? Oh so surprising...

    • 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?

      • by Megol ( 3135005 )

        Nothing wrong in that. However if example code is then copy-pasted as KiloByte implied there are several potential problems.

    • 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.

      • by Anonymous Coward

        "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.
        • by sjames ( 1099 )

          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.

          • 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

            • by sjames ( 1099 )

              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.

  • Developers love trendy new languages almost as much as /. editors love posting dupes [slashdot.org].

  • 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.

    • If you have some level of mastery in a couple languages, it's not hard to learn new ones.

      Well, kinda. If you know C, Java isn't hard to pick up. Haskell, Prolog or Lisp, on the other hand...

      • 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

        • The differences between C/Java/Pascal and Haskell, Lisp and Prolog aren't merely syntactic.
        • 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.

  • 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.

    • 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)

    by per unit analyzer ( 240753 ) <EngineerZ@nOSPaM.gmail.com> on Tuesday March 13, 2018 @04:38PM (#56255133)
    I call BS on any survey or programmer that considers HTML a programming language.
    • by Megol ( 3135005 )

      HTML + CSS is, HTML in itself isn't a programming language.

      • Re:HTML? (Score:5, Informative)

        by mrun4982 ( 3875585 ) on Tuesday March 13, 2018 @05:16PM (#56255351)
        The addition of CSS doesn't change anything. HTML and/or CSS are not programming languages.
        • by Anonymous Coward

          It says it right there in the acronym, hypertext programming language.....html :P

        • by pen ( 7191 )
          Actually, today's HTML+CSS is Turing-complete.
          • by MemeRot ( 80975 )

            So is powerpoint https://www.youtube.com/watch?... [youtube.com]

          • 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.

        • by Megol ( 3135005 )

          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.

      • by Anonymous Coward

        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.

        • I'd call it a declarative language.
          • 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

    • Seconded. Fatal flaw right there.

    • Re:HTML? (Score:5, Informative)

      by Sesostris III ( 730910 ) on Tuesday March 13, 2018 @05:21PM (#56255381)
      To be fair, they didn't. The exact title of that particular survey item is "Programming, Scripting, and Markup Languages".
      • by jetkust ( 596906 )
        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.
    • by jetkust ( 596906 )
      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
  • 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.

    • by Tablizer ( 95088 )

      Specialists tends to have bigger gaps in employment.

      Aint there some grand AI grammer pluggin that would catch that danmed typo?

Genius is ten percent inspiration and fifty percent capital gains.

Working...