Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming Java PHP Python

Survey Confirms Popularity of JavaScript, Python, C/C++, While C# Overtakes PHP (zdnet.com) 68

Analyst firm SlashData surveyed over 19,000 respondents from 155 countries for its "State of the Developer Nation" survey — and now estimates that there's 24.3 million active developers worldwide.

TechRadar reports: The report pegs JavaScript as the most popular language that, together with variants including TypeScript and CoffeeScript, is used by almost 14 million developers around the world. Based on SlashData's observations over the past several years, more than 4.5 million JavaScript developers have joined the ranks between Q4 2017 and Q1 2021. This is the highest growth in terms of absolute numbers across all programming languages...

Next up is Python with just over 10 million users, followed by Java with 9.4 million, and C/C++ with 7.3 million. The report notes that Python added 1.6 million new developers in the past year, recording a growth rate of 20%.

From ZDNet: SlashData estimates the next three largest developer communities are using C/C++ (7.3 million), Microsoft's C# (6.5 million), and PHP (6.3 million). Other large groups of developers are fans of Kotlin, Swift, Go, Ruby, Objective C, Rust and Lua...

SlashData, however, notes that Rust and Lua were the two fastest growing programming language communities in the past 12 months, albeit from a lower base than Python.

And Visual Studio magazine couldn't resist emphasizing that C# "has ticked up a notch in popularity, overtaking PHP for No. 5 on that ranking..." "C# lost three places in the rankings of language communities between Q3 2019 and Q3 2020, but it regained its lead over PHP in the past six months after adding half a million developers," the report states... "C# is traditionally popular within the desktop developer community, but it's also the most broadly used language among AR/VR and game developers, largely due to the widespread adoption of the Unity game engine in these areas..."

It was a different story one year ago, when the 18th edition of the report said: "C# lost about 1M developers during 2019... [I]t seems to be losing its edge in desktop development — possibly due to the emergence of cross-platform tools based on web technologies."

The language might see more desktop development inroads as new initiatives from Microsoft such as Blazor Desktop (one of those "cross-platform tools based on web technologies") and .NET MAUI provide a wide array of desktop approaches.

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

Survey Confirms Popularity of JavaScript, Python, C/C++, While C# Overtakes PHP

Comments Filter:
  • by fahrbot-bot ( 874524 ) on Sunday May 02, 2021 @02:39PM (#61339026)

    The report pegs JavaScript as the most popular language that, together with variants including TypeScript and CoffeeScript, is used by almost 14 million developers around the world.

    Popular and widely-used are not (necessarily) the same thing. Just sayin'

    • > Popular and widely-used are not (necessarily) the same thing.

      True...it depends on which definition of "popular" is meant.
      • by OneSmartFellow ( 716217 ) on Sunday May 02, 2021 @02:55PM (#61339070)

        Yeah, J-Lo is popular
        Kim Kardashian is widely used

      • Popular and widely-used are not (necessarily) the same thing.

        True...it depends on which definition of "popular" is meant.

        Yes, and I think TFS/A are conflating several meanings. I don't think anyone here would argue that JavaScript isn't widely used, but not so sure about how popular (as in liked/preferred) it is. I imagine many people use it because they need to or are required to for a particular task, but not as sure they'd choose to if given other options. Personally, there are several other programming languages I like way more that JavaScript...

      • by ShanghaiBill ( 739463 ) on Sunday May 02, 2021 @03:19PM (#61339120)

        It also depends hugely on the methodology of the survey.

        Who do they count as a "developer"? Python and JavaScript are used by many people whose main job is not software development. C++ and Rust, much less so. My daughter is a microbiologist. She uses Python for statistical analysis of data. So does that count?

        Self-selecting surveys tend to measure passion rather than popularity. So an evangelical language like Rust will do better than a language of shame like PHP. Sure, I use PHP more than I use Rust, but I would never publicly admit to that.

        • Yes, using Python that way definitely counts. She uses a computer precisely for what it exists: To automate your work away. It does not matter if it was a one-off. It gets important work done easily. And the results must be quite reliable, so the code must too.

          And, having seen the game development world from the inside... Much of that C++ should not count. Sure, there are your Carmacks, your Cryteks and and your Juan Linietzkys, but most of it is horrible hacks that just barely get the job done. The kind of

        • There is a core PHP community that is extremely passionate. Mainly because Wordpress helps them do things they otherwise couldn't.

        • by narcc ( 412956 ) on Sunday May 02, 2021 @05:19PM (#61339354) Journal

          There are no "languages of shame". What reason would anyone have to be ashamed?

          Would you be ashamed to use a language that is easy to use? Why? The whole point of programming languages is to make programming easier! If it's easy to use, that should be a point in favor of the language!

          You see that on this site pretty often. "That language is for n00bs!" or "Being easy attracts crappy developers who write crap code that I have to fix!"

          Imagine that in a different profession. Would you think a carpenter who uses a sledge hammer and crowbar for framing was smarter than the guy using claw hammer because other tool makes it "too easy"?

          What about a language that's popular? Why be ashamed of that? It's usually popular because it's good at whatever niche it's found for itself. Aren't we supposed to use the 'right tool for the job'?

          There is certainly no reason to be ashamed of using JavaScript or PHP:

          PHP is used because it's better than the alternatives at things that matter.

          JavaScript was never the only option for the web. It beat competing technologies on its own merits.

          We live in a world were only need to get three companies to agree to an alternative to JS. There reason no one has tried is because JS is actually a pretty nice language, once you take a few minutes to learn it. Surprisingly few people do, leaving the rest to complain when it doesn't behave identically to Java.

          Odd tangent: It's very easy to find capable PHP developers, which helps keep it on top. But the same isn't true for JavaScript. It's damn near impossible to find competent JS developers, which is why bizarre things like ES6 and Typescript even exist. (Yes, it's weird. Image some 'Python with braces' language that compiles to Python.) It's difficult at all, but it's like pulling hen's teeth to get people to sit down and learn a language they think they know just because it looks like C!

          Back to your post: Who they count as a developer, it seems, should be anyone who uses the language. Take R, for example. No one writes applications in R, but that doesn't mean there are no R developers. There's a good chance that you daughter will, at some point, use R for statistics and modeling the same way she uses Python now. She would count as an R developer.

          I use PHP more than I use Rust, but I would never publicly admit to that

          You use it more frequently because it's better than Rust for whatever it is you're doing more often. That's no reason to feel shame. That just means you can make practical decisions, and not just ones based on personal insecurities.

          • by short ( 66530 )

            There are easy+slow to learn languages like JavaScript, TypeScript, PHP.
            Then there are effective+complicated languages like C++ (not C!), Rust.
            Beginner programmers use the easy languages because (1) they cannot handle the effective languages, (2) they do not yet code anything that became slow so they do not need high-performance languages, (3) they do not see advantages for big projects such as static types/analysis of code, less code (and less bugs!) written with templating and multiple inheritance.
            Project

            • by Anonymous Coward

              > (1) they cannot handle the effective languages

              Or because they like to get more done with less effort.
              My most prolific C code was a module that made it into CS Source.
              I've written enough C to not prefer it.

              • by short ( 66530 )
                Right, C is unusable for projects larger than 10 LoC. Go C++11 (sure C++20 nowadays, I am practically using only C++14/C++17 so far). It also depends whether you want 10x better performance than Java, otherwise Java is probably sufficient.
                • by Uecker ( 1842596 )

                  As somebody who switched from C++ to C: C is perfectly usable even for very large projects. I would say it is even much better because compile-times stay reasonable and most of C++'s features are simply an unnecessary distraction.

                  The linux kernel has 27.8 million lines of code.

                  • by short ( 66530 )
                    Yes, it has so many LoC because it does not use C++. Also Linux kernel is reimplementing features of C++ on top of C such as constructors, virtual methods etc. For example GDB had even its own exception system implemented by longjmp()s in plain C (but GDB has finally switched to C++ after some delay I was pushing for it). Then there are also people using C++ only as "C with classes", that was probably your case.
                  • by Bahbus ( 1180627 )

                    Yeah, C is absolute garbage when you compare it to its successors. The only reason to ever use it, is for educational and maintenance purposes. And even then, most maintenance should be going to migrating to a better language. It's like the bank systems still on COBOL and COBOL programmers saying "it's not the language that's the problem - the language is good". No. The language is bad. The systems still using it are bad. All arguments *for* COBOL have been bullshit and lazy. "The Linux kernel..." is not an

                    • by narcc ( 412956 )

                      Yeah, COBOL sucks so much it has been running the world smoothly for 60 years. Call me when your code is still relevant after even a decade.

                    • by Tablizer ( 95088 )

                      Yeah, C is absolute garbage when you compare it to its successors.

                      It useful because it compiles "close to the metal" for when performance is paramount. It's half-way between assembly and a high-level language. Its competitors in that niche may have more built-in protections, but still can't match it in performance. The protections cost CPU cycles.

                    • by AnilJ ( 1342025 )
                      Oh yeah. I forgot to mention COBOL. Other than C, I programmed in COBOL for the longest time ~4 years.
                    • by short ( 66530 )

                      C++ is faster than C as it has templates. In C everything is a pointer - for example _GPtrArray has gpointer *pdata but std::vector contains the elements themselves. That makes i 10x faster on modern CPUs due to 1:10 internal vs. FSB frequency.
                      The same with inlining - C qsort() has int (*compar)(const void *, const void *) which is a callback. C++ std::sort has the same "callback" bool cmp(const Type1 &a, const Type2 &b); but the "callback" gets inlined as std::sort is a template, not function decla

                    • by Tablizer ( 95088 )

                      If that were true, the next edition of C would add in-line vectors.

                  • by AnilJ ( 1342025 )
                    All my life I had programmed in anything but an OO - Algol, PL/I, Fortran, Basic Plus 2, Pascal, and mostly C for the past 30 years. It is difficult but try moving from C to C++. C++ is such a kludge I don't want to program in it other than use it as wrapper to hide away C's interface uglyness.
            • by Tablizer ( 95088 )

              they do not see advantages for big projects such as static types/analysis of code, less code (and less bugs!) written with templating and multiple inheritance.

              Static languages are less code? I don't think so.

              Generally what I've concluded is that static languages are better for lower-level parts and components, such as frameworks, database engines, and OS's, while dynamic ones are better for the domain side of things. However, it's difficult to mix languages, and thus one language is selected for both the "

              • by short ( 66530 )
                Wife is writing webs in TypeScript which is the highest level I can imagine. And she suffers from bugs that TypeScript does not have templates with static types. Not sure what high you could mean.
          • Sure there are, tell people you program in Fortran and LISP. If you are not laughed at, people will think you are trolling them.
          • There are no "languages of shame". What reason would anyone have to be ashamed?

            Right on! BTW I hope everyone here is coming out next weekend to support the VBA programmer pride march.

          • PHP is used because it's better than the alternatives at things that matter.

            It really isn't.

            It's damn near impossible to find competent JS developers, which is why bizarre things like ES6 and Typescript even exist.

            There's no such thing as JS developers - only developers who program for certain browsers or JS implementations that don't implement the whole thing properly. The most bizarre thing about JS is polyfills - things that implement what browser and JS vendors don't want to implement, even though they should be standard.

            • by narcc ( 412956 )

              only developers who program for certain browsers or JS implementations that don't implement the whole thing properly.

              You're deeply confused.

              • https://en.wikipedia.org/wiki/... [wikipedia.org] There is no standard JS. Nothing confused about that. Polyfills exist because JS as a standard, ie with conforming implementations, is an illusion.
                • by narcc ( 412956 )

                  Don't be intentionally dense. The DOM API isn't JavaScript.

                  Though it's funny that you mention Polyfills as a failing as their very existence is a testament to the strength and flexibility of both the language and existing APIs.

                  • Don't be intentionally illiterate. That page alone lists at least one polyfill library that isn't about the DOM: ES5. Yes, a whole library to emulate the missing features of a whole version of a language when an implementation can't do it themselves. That page also mentions core-js - the clue is in the name - not about the DOM.

                    And no, it's not a testament - an indictment. You may as well say being able to write plugins for Clang and GCC therefore makes C++ flexible. Hell, you can have libraries like Boos
          • There are no "languages of shame". What reason would anyone have to be ashamed?

            When I use Python, I'm ashamed of the compiler looking at my whitespace. That's only for humans to see you perv!

        • by mestar ( 121800 )

          Yes, you and only you are a special kind of human that can be called a programmer.

    • Widely used and Popular are usually a very strong connection.
      I would say JavaScript is Popular, just not well liked.

      Being that most Phone Apps are just a browser shell with a few custom buttons, that just goes to a mobile version of their webpage. Nearly all the main UI, are done in Javascript and HTML.

      On the back end we have node.js so you don't need to change your programming language for front end and back end development.

      Python seems to hold its own very well, because it is easy to code for beginners, a

  • Javascript is what you use to allow third part programs you don't know anything about and doing you know not what to run on your computer.

    • To be fair, unless you are the guy that wrote Temple OS (and I believe he has passed), you don't know what most the code running on your computer does, and more of it is probably written in C, C++ and/or C# than in JS.

      • by HiThere ( 15173 )

        True, but that code's been more-or-less inspected by people I trust, and it's *available* for inspections by those who are concerned. Javascript does hot downloads of possibly recently updated code, and that's part of it's intent. You're just supposed to always trust anonymous repositories of code that are updated by random people on the internet.

        • You're just supposed to always trust anonymous repositories of code that are updated by random people on the internet.

          That is indeed food for nightmares.

  • by MrBoring ( 256282 ) on Sunday May 02, 2021 @04:25PM (#61339240)

    Because certain languages are more verbose than others, LOC is a bad proxy for usage. With the advent of Spring Boot, Java needs less coding than it previously did. That doesn't make the application more functional, it just shifts the LOC to a framework.

    Languages like VB tend to be more purpose driven with less, follow this alleged yet verbose "best practice pattern". I could, for example directly wire a dialogue to a data source.

    Another complaint I have is omitting languages like COBOL. I bet if you did LOC for COBOL it would rank higher.

    • by Tablizer ( 95088 )

      I bet if you did LOC for COBOL it would rank higher.

      I sometimes doubt that for a skilled COBOLer because COBOL has a lot of built in functionality that simplifies a lot of business- and CRUD-oriented idioms. The only way that say Java could compete with it would be a big CRUD library, and even that may not be good enough. For example, COBOL's hierarchical record structure allows easy operating on entire branches and field groups of the record as a unit. You'd probably need a dynamic structure to compete wit

  • by cjonslashdot ( 904508 ) on Sunday May 02, 2021 @05:59PM (#61339452)
    McDonalds hamburger: popular. Bud beer: popular. Python: popular.
  • For those who are not devs and just want to use existing repositories. I can't even begin to tell you the version 2 vs 3 python problems I've had in the last month. Oh, wait you can't use that repository, it only works for 2.7. If I had a terminator, I'd send them back in time to stop the 2 to 3 fork.

    • And they shouldn't have introduced the Metric System until all the old people died out.
      • It is much easier to convert English to metric (I can do that in my head) than to re-write an entire repository, not a great comparison

        • Then you missed the point.
          • Missed what point? The point is it takes more time, I don't have a lot of time. There are some programmers that don't mind re-writing a repository or fiddling with 2 to 3 converters. I do.

    • I understand that a lot of library maintainers did wait until the very last moment, or beyond. I myself relied on some of those libraries until very recently. But they had roughly 12 years to migrate to Python3. When it became clear that they could or would not do so, then really it became my responsibility as a user of those libraries to mitigate in some fashion, or live with the consequences.

      I can't blame most of the library developers because in many cases they did fix their own code, but still had to

      • I don't have any solutions either for what should have been done, all I know is it's a mess. Thanks for letting me vent.

  • The MS-Dev building APIs for MS Azure and a new generation moving from PHP to C# without knowing and/or caring what open source is all about.
    Let's not forget: MS hasn't been super-evil in the last decade. That may finally be paying off. I find myself in the strange situation with devs telling me how awesome MS and C# are, whilst I still remember the last epic f*ck-ups on Microsofts Karma and avoid their stuff like the plague. MS also seems to have this serverless thing pretty much down. I'm currently in a g

  • Popularity, usefulness and adoption are different things. Ask yourself if you are interested in conversation topics, problem solving or strategy.

    Also consider that financial institutions heavily influence the adoption of languages whilst remaining quiet about it. Deep pockets and a large workforce go a very long way.

  • Comparing programming languages is not like comparing any other "stick". You choose the metrics you like, and get different rankings.

    Even most "used" does not mean much? Most uptime? Probably C, thanks to Minix running on all Intel CPUs in supervisor hardware.
    Most active users? C++, or PHP: Google, Facebook, Youtube and Yahoo use those. Java would be the close third place.
    Most important? probably COBOL? For all those banking transactions
    Most well known? C++, C#, Java, or Python depending on seniority and pl

Technology is dominated by those who manage what they do not understand.

Working...