Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Stats Programming

Can Stack Overflow's Survey Predict Next Year's Most Loved Programming Language? (stackoverflow.blog) 46

What happens when Stack Overflow's senior research analyst delves more deeply into results from their annual Developer Survey? Rust, Elixir, Clojure, Typescript, and Julia are at the top of the list of Most Loved Programming Languages. However, in looking at the last three years, we see a bit of movement. [While Rust has remained #1 since 2020, Elixir has risen to #2, while Clojure and TypeScript have dropped.]

In 2022, we added a drill-down to specifically show popularity amongst those learning to code. Because Stack Overflow is a learning resource, I would expect that popularity amongst those specifically learning would be a good indicator of current and future programming language popularity. There is an interesting pattern in comparing Most Loved and Learning to Code Popularity: people learning to code aren't using the most loved languages....


Less than 1% of those learning responded they were using either Clojure or Elixir.

1.2% are using Julia
7.1% are using Rust
and 15.1% are using Typescript.

The article still tries to tease out ways to predict future popular programming languages (by, for example, the number of questions being asked about languages, especially by new programmers learning to code). But along the way, they uncover other surprising statistical truths about the limits of their data:
  • "Stack Overflow questions are more susceptible to the preferences of those using the site as a learning tool rather than those of more advanced developers."
  • "[B]eing loved (via the Developer Survey) is not related to generating more questions on Stack Overflow. And this makes sense: posting questions most likely speaks to friction with coding, a friction that may lead to loving a programming language less."
  • "Our latest Developer Survey showed us that ~32% of programmers have been professionally coding for four years or less, a significant amount of people who are most likely involved in learning programming languages. That is, beginner-friendly languages get the most questions and popularity, but the Most Loved languages make veteran developers happy."

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

Can Stack Overflow's Survey Predict Next Year's Most Loved Programming Language?

Comments Filter:
  • Surely the whole point of SO is that most questions will come from people using it as a learning tool?

  • No (Score:5, Interesting)

    by Opportunist ( 166417 ) on Monday January 30, 2023 @03:42AM (#63250297)

    It can predict what language is the new pet language for people who cannot code and thus have a load of entry level questions. It wouldn't exactly call this in any way indicative what language to move towards for anyone trying to get some real work done.

    • by Anonymous Coward

      The question isn't "language most useful to get work done in", it's "language most loved (according stackoverflow surveys)". Once you stack the deck like that, you can make your own answer.

      So, can stackoverflow provide clickbait "surveys" whose numbers exalt and glorify the latest fad language with an agenda and a CoC? I think we know the answer to that. This piece is yet more propaganda to that same cause. Just look at who is putting out this blogpost: "Stackoverflow's senior research analyst". Meaning th

      • These various coding language surveys do generate a lot of discussion here... which means they probably are a good fit for a technically-oriented discussion site like Slashdot. But I certainly wouldn't use the surveys as an indicator of what language I should learn next.

        • by Entrope ( 68843 )

          which means they probably are a good fit for a technically-oriented discussion site like Slashdot.

          Your user ID is surely low enough to have heard of Slashvertisements before this, and to have learned the difference between discussion and the nth iteration of a flame war over the significance of a particular online survey. (If Slashdot supported image embedding, there would be a meme of The Matrix's Architect here remarking how many times we have done this before, and that we have become exceedingly efficient at it.)

    • Re:No (Score:5, Interesting)

      by slack_justyb ( 862874 ) on Monday January 30, 2023 @04:25AM (#63250339)

      It wouldn't exactly call this in any way indicative what language to move towards for anyone trying to get some real work done

      I would question the "real work done" part as Rust is indeed making a lot of motion. 33% of all new commits to GStreamer are now in Rust. The Linux kernel is now accepting Rust patches. PopOS has indicated they are now moving towards iced-rs and away from GTK. And I've seen a few (yes, not anywhere near the others) Rust jobs now.

      Now I'm not saying this is the end for any other language but what I am saying is that Rust has gotten some traction. Now does that meet your definition of "real work" (tm)? Well no idea, but it isn't exactly the used by nobody language I think a lot of people try to chalk it up as.

      As for Elixir, if you've used Erlang, you'll really enjoy Elixir. Outside of that, no, only Erlang folks are super excited about Elixir at the moment. Does that mean no real work is being done with it? More than likely wherever Erlang is being used heavily, Elixir is getting eyeballs, it is a pretty good Erlang supplement.

      Clojure is a real thing for those looking for Lisp on Java. It's made by the same guy who did up Lisp on dotNET. It's been around since 2007 and yeah, there's jobs out there for it. I mean, it's not some massive market. But again it really comes down to what are you calling "real work"?

      Typescript. Like that's a meme at this point between JS and TS folks fighting a civil war. But yeah you can get a decent TS job and they're more than likely the most numerous out of the ones were talking about here. Like whatever your line is for "real work" if TS doesn't meet it, then I don't know if you have a good definition for "real work".

      Julia is a very scientific language that's used a good bit in that domain. There's work in it, but it's about the same domain as folks who still work with Fortran. So yeah, you're not going to see a ton of postings for it, but it is absolutely being used in some government departments in the US. A lot of climate models for the UN are written in this language, NASA uses Julia for a lot of their imagining processing, and there are some banks that are using it for fiance processing.

      Now what you have to say about SO predicting anything, totally agree with. But once you get into the "does it do real work" question, I mean the answer is "it depends" what do you give that label to? If it's "is there a significant number of programmers working with the language?" Then more than likely the answer is no, but as someone who works with COBOL and IBM RPG still, you might as well say I'm not doing real work. If it's "are there some jobs out there for that programming language?" Then yeah, for all the ones listed, they're doing "real work". Does it mean that any of them are replacing C/C++ or C#/Java? More than likely not anytime soon if ever. But if that's where you are setting the bar, that doesn't feel like a realistic expectation for the label "real work".

      • As for Elixir, if you've used Erlang, you'll really enjoy Elixir. Outside of that, no, only Erlang folks are super excited about Elixir at the moment. Does that mean no real work is being done with it? More than likely wherever Erlang is being used heavily, Elixir is getting eyeballs, it is a pretty good Erlang supplement.
        Elixir runs on the Erlang VM. That is basically all what Elixir has in common with "Erlang folks".

        Regarding "real work", as your parent used it, most people using that term have no clue ..

    • I would think a "pet language" would belong to folks who do know how to code rather than those who don't. People who don't know how to code are probably on their first or second language and are asking legitimate beginner questions. They probably don't consider the language to be a pet language but more of just "the language they're learning".

    • Perhaps you should visit stackoverflow once. There are rarely "entry level questions".

      And as 90% of your posts regarding coding are complete nonsense, it is pretty obvious that you either:
      a) have no clue about coding, aka "can not code" as you phrase it
      b) or have never programmed at all

      (only idiots call programming coding anyway)

      • I've been to StackOverflow before, and yes, that is mostly entry level drivel.

        I don't care what you call it. What I get to analyze most of the time doesn't qualify as "programming" and could at best be described as "cargo cult coding". Because that's what we get most of these days for review. Yes, the times when I wrote programs myself have been a while ago. Probably longer ago than most people here actually do it. The first "big new thing" I remember was probably C++, and back then nobody really knew why i

  • by devslash0 ( 4203435 ) on Monday January 30, 2023 @05:12AM (#63250387)

    Stack Overflow engagement is not an indication of how popular a language is. It's an indication of which language people struggle with the most, which language needs the most support and which language has the most inexperienced coders.

    • by nagora ( 177841 )

      Stack Overflow engagement is not an indication of how popular a language is. It's an indication of which language people struggle with the most, which language needs the most support and which language has the most inexperienced coders.

      They'e not independent variables. Brainfuck is a nightmare language but the tiny number of users means it's never going to show up high in the SO engagement numbers.

      Ideally we would know how many questions appear per user of a language but of course SO doesn't have that information.

    • Re: (Score:3, Insightful)

      by Anonymous Coward

      It's an indication of which language people struggle with the most, which language needs the most support and which language has the most inexperienced coders.

      In my experience that's completely wrong. Programming is the art of developing elegant solutions. Instead of hammering away at every problem with techniques you know, you should always seek out multiple approaches. People who denigrate stock overflow are generally narcissistic know-it-alls who think they have nothing to learn.

      I've been coding

      • The problem with stackoverflow, at least after the first couple of years, is the low quality of answers. Answers and comments are game-ified. The more you answer questions, right or wrong, the higher score you get. The experts who want to say "this answer is wrong" get ignored because they don't have the popularity score. So you get things like a "C" question that gets a "C++" answer that is voted up. In my experience it feels like maybe 10 answer at least before someone says "here is what is in the Sta

    • It's an indicator also of what's being taught in college which is used in homework.

  • by bradley13 ( 1118935 ) on Monday January 30, 2023 @05:28AM (#63250397) Homepage

    There are so many problems with these surveys. Established languages not undergoing rapid development will get fewer questions and less attention overall. Older languages with a more experienced developer community will also not be in the spotlight.

    Then you get all the students trying to get someone to do their homework. They post lots of questions, and sometimes it's pretty obvious that they are just posting homework exercises, or parts thereof. They artificially drive up numbers, even if the students will never program another line of code after they finish the course.

    Finally, you have "fun" languages and languages that you use to get work done. I love learning new languages, but I don't use them for much more than a few Project Euler exercises. How much do things like that sway the results?

    These surveys are kind of fun, but they are more of a popularity contest than anything serious.

    • Introducing SurveyGPT. We've crunched billions of survey responses across a wide range of topics. With the right prompts, SurveyGPT can tell you the prevailing opinion and preferences for anything.

      No more bewildering choices of libraries, dependencies or even languages. Just tell SurveyGPT your scope and budget and it will tell you what someone who got it right would have done!

    • The students, when they finish their course, will get jobs.
      Those jobs may well require them to apply the skills they learned on their course.

      If they go to work for a software company, then obviously they will be a junior coder using whichever language etc their employer tells them to use.

      But they could, like me, get a job doing something else, where writing small bits of code can help with the job they are actually tasked to do, and then their boss who probably knows less than them about computers will go w

    • by Tom ( 822 )

      There are so many problems with these surveys. Established languages not undergoing rapid development will get fewer questions and less attention overall.

      Not just that. Word is that JS is on that list not so much because it's popular (it is), but also because it's such a mess that people need StackOverflow to work with it at all.

  • No one is going to code any more....
  • by JasterBobaMereel ( 1102861 ) on Monday January 30, 2023 @06:09AM (#63250421)

    But the least loved languages, are the ones that employers actually use, and when they post they want candidates to know a list of languages the dull boring ones will be the ones most used, simply because they are the dull boring one -
    Rust is one of the few on this list that is rapidly becoming one of the dull and boring languages ...

  • I'll keep it short.

    The "popularity" of a language is meaningless. Depending on the task, a programmer should pick the "best" tool for the job. Best is also subjective, but if we agree that it's efficient in time and money, gets the job done well, introduces no regressions, failures, or other holes, then there should be a few languages that fit. If the "programmer" is a student learning to code web pages, then they're likely to go for Py, PHP, JS, etc. If they are a db programmer they are likely to use b

    • Depending on the task, a programmer should pick the "best" tool for the job.
      And 90% of the time you can not do that. Because: someone else already did, and you have to stick with what you have.

  • by Anonymous Coward

    If the headline ends in "?" the answer is "NO."

  • Perhaps instead of trying to shift coding preferences to match the winds of popularity from an annual survey, ask programmers how often we should be concerned about this in general.

    Ever wonder how many problems this can ultimately introduce? Gut feeling is most don't, and I'm not sure why. It's only programming after all. "Only" the horrific kinds of bugs that can absolutely torment millions of lives when they go very wrong these days.

  • A metric that features a poll about popular languages is already about future use, since most programmers NOW mostly bleat about what next gen language they are testing to use (while they run production with anything considered non-sexy, including VB, VBScript and Cobol).

  • Is going to favor languages that people aren't being forced to work on by their job.

    When given a choice between 'hating' a language and 'ignoring', it's much easier to ignore. So if you start down learning a language and it doesn't resonate with you, you'll shrug and drop it or think you'll come back to it. There's plenty of languages that I took a cursory glance at and didn't have the motivation to continue. I still would give it the benefit of the doubt that it either clicks with other people, or if I w

  • I miss writing graphical programs. I had been using Processing for doing image manipulation, which it is really good at, though there are three problems with it: it's riddled with Oracle Java, it doesn't deal well with files, and it's slow. What it did well was be a cross-platform language that was powerful in graphics, and could use the mouse and webcam right out of the box.

    Oddly I miss the niche that BASIC filled. It was everywhere, and could do graphics right from the get-go. Though, line number were b
  • You cannot love what you do not understand. And you cannot understand a programming language without writing a compiler or interpreter for it.

    So the correct answer every year has been Forth or TinyBasic or Lisp-family.

  • It will give you an answer.

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (10) Sorry, but that's too useful.

Working...