Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Programming Python Stats

Developer Survey: JavaScript and Python Reign, but Rust is Rising (infoworld.com) 60

SlashData's "State of the Developer Nation" surveyed more than 20,000 developers in 166 countries, taken from December 2021 to February 2022, reports InfoWorld.

It found the most popular programming language is JavaScript — followed by Python (which apparently added 3.3 million new net developers in just the last six months). And Rust adoption nearly quadrupled over the last two years to 2.2 million developers.

InfoWorld summarizes other findings from the survey: Java continues to experience strong and steady growth. Nearly 5 million developers have joined the Java community since the beginning of 2021.

PHP has grown the least in the past six month, with an increase of 600,000 net new developers between Q3 2021 and Q1 2022. But PHP is the second-most-commonly used language in web applications after JavaScript.

Go and Ruby are important languages in back-end development, but Go has grown more than twice as fast in the past year. The Go community now numbers 3.3 million developers.

The Kotlin community has grown from 2.4 million developers in Q1 2021 to 5 million in Q1 2022. This is largely attributed to Google making Kotlin its preferred language for Android development.

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

Developer Survey: JavaScript and Python Reign, but Rust is Rising

Comments Filter:
  • Really who cares? Ultimately all computer languages do the exact same thing, they just express it in a different manners.

  • Personal projects (Score:5, Interesting)

    by systemd-anonymousd ( 6652324 ) on Sunday May 22, 2022 @07:18PM (#62557150)

    People like Rust because they try it out for fun personal projects. Guess what? Any language is more fun when you're doing a fun personal project with it.

    I tried using it for embedded development and the syntactical sugar and lack of maturity of the libraries (and compatibility nightmare if you tried to interface with code that can't be proven to be safe) made it extremely miserable to use. I switched back to C and just got the project done.

    • Re:Personal projects (Score:4, Interesting)

      by Dutch Gun ( 899105 ) on Sunday May 22, 2022 @07:29PM (#62557166)

      I've only poked at it a bit, but my impression is that Rust is an extremely opinionated language, and as such, takes a bit of time to figure out how to wrap your head around it, such that you're not constantly fighting the language / compiler.

      If anything, I think developers love the IDEA of a high-performance, memory-and-thread-safe by default language. I'm a C++ developer, and I've carefully cultivated methods and best practices for writing memory-safe and thread-safe C++ code, but it requires a lot of work to do so. I have to admit, I like the idea of a language that makes this possible in all the code you write by default.

    • And this is why I'd rather write a Winforms app with a C# backend then dive into the more modern libraries that just can't figure out whether they can do everything or nothing or both.
    • I went through exactly the same process. Until either (a) libraries are all written in Rust or (b) integration with C libraries is TOTALLY PAINLESS, it's quicker just to write in C native. If you know what you're doing and follow good practice, it's no where near as bad as people make out.
      • I think that this depends. Integration with C libraries is certainly possible and the tooling has made this easier over the years, to the point that there are now quite a few crates out there supporting many C packages. In general, though, I think you are just saying that C is more mature than Rust. And that, of course, is true. It is a hill that Rust will have to (and is) climb.

        Your argument is also based on "if you know what you are doing" and this is the big one. Rust's design means that you should be ab

        • Agree that Rust is less mature (of course!) however, it's kinda disappointing that no language (with maybe the exception of C++) has yet approached the coverage in terms of library support, and C++ is kinda cheating because it is a superset of C. I worry that languages like Rust will take longer to get viable than I have left in my career !

          New languages ought to make integration/coexistence with C it as easy as with C++/C integration, that would really power up their adoption in my view.

          By the way I am ver

          • New languages ought to make integration/coexistence with C it as easy as with C++/C integration

            You mean like D and Zig do it? (D of course does it both with C *and* with C++...)

            • wow thanks for those references. They both look interesting. I will be doing some evaluation of them to see if they meet my needs. Certainly they both seem to have advantages (from my point of view) vs Rust or Go.
    • People like Rust because they try it out for fun personal projects. Guess what? Any language is more fun when you're doing a fun personal project with it.

      Though I am using Rust for what you could call a fun project, there is serious intent. This relates to memory management. I tend to use C++ for most serious programming, and I appreciate how many of the problems of complex heap allocations are largely solved by constructors and destructors, used according to the RAII paradigm. This is much better than C, in my opinion. Most of the C I write is for small embedded stuff, and I have never used malloc in such projects. On the few occasions I tried to write a PC

  • by thesjaakspoiler ( 4782965 ) on Sunday May 22, 2022 @07:33PM (#62557176)

    Cobol is still holding on to all major financial backends.
    Coboltime!

    • Lords of COBOL, hear our prayer?
    • I'd like to see some citations here. I've been in FinTech for a long time and yeah, in the mid 90's we still had a /little/ cobol hanging around (big wall street firm), but it was a majority cfront flavored C++ even then.

      And since then I've seen less and less of it.

      I think this has moved into trope status.

  • JavaScript fatigue (Score:5, Interesting)

    by DaMattster ( 977781 ) on Sunday May 22, 2022 @07:48PM (#62557196)
    I have hit JavaScript fatigue. It seems no matter what tutorial I find, I just cannot get my head wrapped around it. Its syntax makes no sense to me whatsoever. I am about to try one more tutorial from javascript.info and if I cannot get my head wrapped around it, I am finished. I can program in Java and a little in C++ so I should be able to pickup JS but I am failing. :(
    • Don't feel bad. I can mark the moment of my declining interest in programming with the popularity of JS. It seems every 150iq 23 year old is creating yet another new library to do something that was already done but different (or to make something which used to be able to be done but can no longer be done because something new came along able to be done) Wow that's a mouthful.
      • Don't feel bad. I can mark the moment of my declining interest in programming with the popularity of JS. It seems every 150iq 23 year old is creating yet another new library to do something that was already done but different (or to make something which used to be able to be done but can no longer be done because something new came along able to be done) Wow that's a mouthful.

        I think you've summed up my feelings succinctly. Thank you for that.

      • by narcc ( 412956 ) on Sunday May 22, 2022 @11:00PM (#62557560) Journal

        I'll never understand why so many developers mistake libraries and frameworks for the language. You don't need to use the flavor of the month framework or the latest wiz-bang library. In fact, I'd encourage you to actively avoid them.

        This is true for every language. Let the kids play with the shiny shiny. They have time to waste.

        • by Junta ( 36770 )

          The issue being that those attempts at frameworks exist for a reason. The standard language is so tedious and awkward when it comes to connecting javascript data to the actual UI.

          If your writing a small amount of javascript, then you are certainly better off skipping a framework and going manually.

          As it goes up in complexity... well good luck with all the tedious event listening and DOM manipulation.

          On the flip side, use a framework and good luck trying to make heads or tails of it in the browser debugger.

          T

          • by narcc ( 412956 )

            The standard language is so tedious and awkward when it comes to connecting javascript data to the actual UI.

            I'll never understand why so many developers mistake libraries and frameworks for the language. The DOM API is not the language. It's also not complicated, awkward or tedious.

            No, your complaint isn't with JavaScript or the DOM API, it's with HTML.

            well good luck with all the tedious event listening and DOM manipulation.

            What do you find tedious about either of those? My guess is that you've dramatically over-complicated things, probably because you're trying to use JS like it's Java or C# and/or you really just don't understand the DOM. That's probably not completely your faul

    • by Klaxton ( 609696 )

      There are definitely some weird quirks about JavaScript that can throw a person off. But personally I find that I am way more productive with it than Java, especially where anything having to do with JSON is involved. And that's super important, because JSON is a basic
      data transfer standard.

      I do all my server-based work with Node.js which is JavaScript, and all my browser work with JavaScript too. Very nice to do everything in the same language. If you prefer a strongly typed language you can use TypeScript

    • by Junta ( 36770 ) on Sunday May 22, 2022 @09:33PM (#62557380)

      Part of it is that the language had some bad design decisions, and as they went about re-inventing themselves to have different best practices, the compatibility situation made them 'settle' for some not quite normal syntax. A lot of documentation still focuses on old workaround ways (e.g. javascript didn't have a good 'module' approach for a long time, so a common practice that still is in tutorials is to define a bunch of stuff in an anonymous closure, and then 'export' stuff by assigning to 'window')

      Further, the connection between the page elements and javascript is a bit awkward, and every few weeks someone comes up with a 'framework' aimed at finally connecting up the code and document elements 'seamlessly' in yet another way.

      Finally, it's conspicuously a language without any multiprocessing/multithreading model at all, and instead for the longest time basically had to do any sort of conversation as broken up into dozens of callbacks. Significantly mitigated by the async/await mechanism to have flow better organized but still reasonably concurrent.

      As far as language syntax itself, it isn't too bad, but I can see what could trip people up. One the meaning of 'this' can be very weird and rarely useful for most people, so you want to explicitly manage functions in scopes. The fact that the 'arrow' syntax is often promoted as 'better' than the function keyword, and thus commonly you see a function definition as assigning an arrow function to a name, though in practice it's really supposed to be more a lambda expression....

      For another, coming from languages that more rigidly present concepts as 'classes', the more 'loose' nature of just nesting functions can be a bit jarring.

      But by far, the confusion because the standard javascript has so much tedium people consider a 'framework' a requirement and people get in near religious debates about whether it's best to use Angular, or React, or Vue, or Svelte, or SolidJS, or...

      • by narcc ( 412956 )

        It's like you've never actually used it...

        • by Junta ( 36770 )

          Care to elaborate on how you believe my experience is somehow invalid? I do use it and it's the most disliked part of my job for the reasons I cited.

          • by narcc ( 412956 )

            You should learn the language, it's much better once you do. I know you don't know the language because of the things that you've written, for example:

            One the meaning of 'this' can be very weird and rarely useful for most people,

            The behavior of `this` is not complicated at all and is perfectly reasonable once you understand what it refers to and why. To do that, however, you'd need to actually understand the language. Arrow functions make `this` work a bit more like you're used to, but it goes completely against the rest of the language and should be avoided for that reason. Tho

            • by Junta ( 36770 )

              You should learn the language, it's much better once you do. I know you don't know the language because of the things that you've written, for example:

              Surprisingly, not everyone feels the same way about something. Just because you have found yourself a fan of it, doesn't mean that anyone who disagrees just hasn't learned it.

              (If you're still thinking in terms of classes, you're doing it wrong.)

              But that's just the thing, being bound to the DOM element associated with isn't something that most people have a use for. I know what 'this' does, but I can still recognize it as 'weird' and not aligned with developers. Ilke you said, you've found little use for it yourself, yet it's a prominent facet for those coming from 'object ori

              • by narcc ( 412956 )

                Surprisingly, not everyone feels the same way about something. Just because you have found yourself a fan of it, doesn't mean that anyone who disagrees just hasn't learned it.

                It has nothing to do with feelings. As I pointed out, some of the things you said indicate that you don't, in fact, understand the language. I even gave examples.

                Your examples are all related to the DOM API, which, I've pointed out multiple times, is not the language. Still, your criticisms are very odd. I can think of things that I would change or do differently, but not these.

                Simply the tedium of things like having to explicitly declare connect event handling to DOM elements and your event handler frequently having to prevent default depending on what you are doing.

                It's a single line, and only only something you need rarely. e.PreventDefault(); at the top of the handler. That's it. If th

    • javascript.info is nice.

      But I heartly recommend these other two:

      JavaScript for impatient programmers [exploringjs.com] and Eloquent JavaScript [eloquentjavascript.net]

    • by narcc ( 412956 ) on Sunday May 22, 2022 @10:53PM (#62557546) Journal

      It's not your fault. JavaScript was a really simple, almost elegant, language that was just poorly understood. It wasn't difficult to learn, but it was different. The trouble was that it looked familiar, so very few developers took the time to learn it. That included people writing books and online tutorials.

      ECMA decided that it was better to pollute the language with new features to make JavaScript, used a particular way, more familiar for developers coming from languages like Java and C#. This was a horrible mistake.

      Now, there are essentially two different "versions" of JavaScript: the old, sensible but misunderstood one, and the new, badly designed one that lets you pretend that classes are a thing, until you find out that it was all just a lie.

      So, yes, a lot of the syntax is confused and stupid, but only because some morons at ECMA really wanted JavaScript to be a completely different language. Arrow functions, for example, change the behavior of `this`. It's preposterous.

      Naturally, crap you find online freely mixes and matches between the two.

      If you want to give it a real shot, get Crockford's book and try to stick to tutorials written between 2008 and 2014. Once you get a handle on the core of the language, then you can learn about all the ES6 trash and actually understand what's really happening. I can assure you that there is a good language hiding in there that's actually really easy to use.

    • I can program in Java and a little in C++ so I should be able to pickup JS but I am failing. :(

      The second language is always the hardest. Usually you have an idea of how to do it in your better known language and don't have the right terms and mindset to figure out how to do it in another. It depends on what your goals are, but you're usually better off knowing how lots of different languages handle things so when you come across something different you can just say "Oh, thing language has a different stupid way of doing that." Because they all have their WTF parts.

    • by kackle ( 910159 )
      I've just been through this last year. I've programmed for 45 years and recently volunteered to extend a work project, written by a consulting company, mostly in JavaScript. Before this, I've only used basic JavaScript to enhance some web pages. I think it's the worst language I've ever used. People can explain X or make excuses for Y, but my opinion remains. Yes, it's almost required for web development, but I agree with another poster, multiple versions, "enhancements" and syntax sets confound attempt
  • You had one job ...

  • My future is damed. I will forever be confined in Danteâ(TM)s first circle of python hell. Please everyone, pray for my soul.
  • by SuperDre ( 982372 ) on Monday May 23, 2022 @07:18AM (#62558050) Homepage
    It's a shame languages like javascript and python are so popular. They both have a terrible syntax, especially python, which really borders on WTF was the creator thinking when he designed it.
    • by jwdb ( 526327 )

      Thankfully for us, it seems most people disagree with that opinion.

      • because it might be popular doesn't meant they agree with that the syntax is good..
        • by jwdb ( 526327 )

          How else would you define "good" syntax? Apart from just the fact that objective criteria for "good" are tricky, are you talking about good for users, python maintainers, or some other group?

          The fact that it's a broadly-popular language means that even if people do mind the syntax, it's far from a deal breaker for most, and therefore far from "terrible" as GP asserts.

    • by leptons ( 891340 )
      I agree with you about Python, but Javascript is really just C on easy mode. I don't find anything really wrong with the syntax. The lack of strong typing may scare some people away, but for me it's been pretty amazing - no boilerplate, and with a little bit of discipline, the types aren't really needed.
      • But that's actually one of the problems, discipline, that's what people do not learn with starting out with languages like python or javascript.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...