Survey of 26K Developers Finds Java, Python, Kotlin, and Rust Growing Rapidly (zdnet.com) 67
While the popularity of jQuery is decreasing, React.JS "is currently the most widely used client-side framework," reports ZDNet, citing SlashData's 23rd State of the Developer Nation report (compiled from more than 26,000 developers last summer from 163 countries).
ZDNet believe it shows developers "experimenting less and sticking with what they know and what works." JavaScript remains the largest programming language community, SlashData found. According to its research, there are an estimated 19.6 million developers worldwide using JavaScript every day in everything from web development and mobile apps to backend coding, cloud and game design. Java, meanwhile, is growing rapidly. In the last two years, the size of the Java community has more than doubled from 8.3 million to 16.5 million, SlashData found. For perspective, the global developer population grew about half as fast over the same period....
Python also continued to grow strongly, adding about eight million new developers over the last two years, according to SlashData. It accredited the rise of data science and machine learning as "a clear factor in Python's growing popularity". Approximately 63% of machine-learning developers and data scientists report using Python, whereas less than 15% use R, another programming language often associated with data science.
Both the Kotlin and Rust communities doubled in size in the past two years, the article points out. But according to the survey, only 9% of developers were involved in blockchain technologies.
Yet 27% of respondents reported they were learning about (if not currently working on) cryptocurrency-based projects. ZDNet summarizes the findings: Of the three blockchain technologies covered in the report, non-fungible tokens (NFTs) were found to be of least interest to developers: 58% showed "no interest" in NFTs, which SlashData said was "likely due to its perception as a novelty".
The report found that one-quarter (25%) of developers currently work on, or are learning about, blockchain applications other than cryptocurrencies.
ZDNet believe it shows developers "experimenting less and sticking with what they know and what works." JavaScript remains the largest programming language community, SlashData found. According to its research, there are an estimated 19.6 million developers worldwide using JavaScript every day in everything from web development and mobile apps to backend coding, cloud and game design. Java, meanwhile, is growing rapidly. In the last two years, the size of the Java community has more than doubled from 8.3 million to 16.5 million, SlashData found. For perspective, the global developer population grew about half as fast over the same period....
Python also continued to grow strongly, adding about eight million new developers over the last two years, according to SlashData. It accredited the rise of data science and machine learning as "a clear factor in Python's growing popularity". Approximately 63% of machine-learning developers and data scientists report using Python, whereas less than 15% use R, another programming language often associated with data science.
Both the Kotlin and Rust communities doubled in size in the past two years, the article points out. But according to the survey, only 9% of developers were involved in blockchain technologies.
Yet 27% of respondents reported they were learning about (if not currently working on) cryptocurrency-based projects. ZDNet summarizes the findings: Of the three blockchain technologies covered in the report, non-fungible tokens (NFTs) were found to be of least interest to developers: 58% showed "no interest" in NFTs, which SlashData said was "likely due to its perception as a novelty".
The report found that one-quarter (25%) of developers currently work on, or are learning about, blockchain applications other than cryptocurrencies.
Alrighty then (Score:5, Insightful)
The report found that one-quarter (25%) of developers currently work on, or are learning about, blockchain applications other than cryptocurrencies.
We can immediately discount their opinions on what's worth looking in to.
Re:Alrighty then (Score:4, Informative)
Aka "25% of developers are desperately looking for something to apply the skills at they wasted a lot of time on learning because they noticed that the whole crypto bullshit is crashing and burning".
Re: (Score:2)
Yep. And that any half-baked crypto-currency code will get hacked pretty reliably, so most "developers" have no business playing there.
Re:Alrighty then (Score:5, Interesting)
Re: (Score:2)
Pretty much. These 25% are clearly stupid, but they will not be the only ones. The blockchain is an exotic tech that has almost no applications and for the few that are there, there are better traditional solutions.
Re: (Score:2)
No, git is a great example of a blockchain application. It has all the good parts (a distributed cryptographically signed ledger) and none of the bad parts (Bitcoin mining, stupid decentralization with 50% attacks etc).
Many proposed uses for "blockchains" in logistics or finance are much closer to git than Bitcoin. A digital ledger can facilitate and secure transactions in many different areas but it doesn't need all the junk that Bitcoin brings. Many proposed systems for government backed digital currencie
stupid crypto hype (Score:2)
Why can't developers get excited about learning security?
Yes but (Score:3)
"Survey of 26K Developers Finds Java, Python, Kotlin, and Rust Growing Rapidly"
Yes, and you could do this same survey a few months from now and quite possibly get different answers.
Headline should be, "Developers Use All Sorts Of Different Languages And Sometimes They Change"
Re: (Score:2)
Yeah, or maybe the headline should reflect the reality of today.
"Headlines for sale."
of course (Score:2)
JavaScript remains the largest programming language community, SlashData found.
Because we have no choice.
Also, jquery has largely been absorbed into standard javascript, so there's not really a need for it anymore.
Re: (Score:2)
JavaScript remains the largest programming language community, SlashData found.
Because we have no choice.
so you're saying that javascript, even with thousands of brilliant minds and communities churning out languages and tools every other month, for decades, javascript is still the best option there is, by far, which is why it is omnipresent. and the sky is blue with enough light. yep. i wholeheartedly agree.
Also, jquery has largely been absorbed into standard javascript, so there's not really a need for it anymore.
nope. not at all. wrong on so many levels. jquery was a revultionary take on selectors with an amorph but handy library of general purpose functions that kickstarted "web 2.0" (20 years ago, mind you) and
Re: (Score:3)
so you're saying that javascript, even with thousands of brilliant minds and communities churning out languages and tools every other month, for decades, javascript is still the best option there is, by far, which is why it is omnipresent.
No, I'm saying that when I look at the languages available in my web browser, the list is short.
jquery was a providential godsend to handle the clusterfuck that are html and its selectors
Nope. jQuery was the only way to write for both Internet Explorer and everything else.
Internet Explorer is dead, therefore jQuery is dead.
Javascript has "querySelector()" which does what jQuery did.
Re: (Score:2)
No, I'm saying that when I look at the languages available in my web browser, the list is short.
You can use a language like TypeScript that compiles to JavaScript.
Or you can use a language that compiles to WebAssembly, like C++ or Rust.
Javascript has "querySelector()" which does what jQuery did.
Indeed. I no longer use JQuery for new projects.
Re: (Score:2)
People use Javascript because it's the language of the browser.
Re: (Score:2)
JavaScript remains the largest programming language community, SlashData found.
Because we have no choice.
Yep, and Sturgeon's Law applies very clearly.
Yeah. Right. (Score:4, Insightful)
JavaScript remains the largest programming language community,
Eat shit, billions of flies can't be wrong!
Java, meanwhile, is growing rapidly. In the last two years
Java is one of the biggest security problems in existence. When I get to do a security test on a Java app, I rejoice. Because my work is already done, and I have a week to goof off. Just throw it against the OWASP dependency checker [owasp.org] and you're done. You'll find enough critical security problems to keep the devs busy for weeks or months and every manager will think you're some security guru. PLEASE keep developing in this POS!
Python also continued to grow strongly, adding about eight million new developers over the last two years
I sure believe that. Most of my POCs are written in Python now. Production code? Nah. Who'd use Python for something like that, do you think I'm crazy? Who'd want to maintain that kind of garbage? You could as well try to use node.js as your producting environment, a billion conflicting libraries, each maintained by a single person, for as long as this person can be bothered to maintain it. Afterwards, good luck finding a security fix.
Re: (Score:3)
Re: (Score:2)
Good one, I'll remember this one come next audit.
Here's 4 libraries that do essentially the same, every single one of them maintained by one person. Please consult your crystal ball to say which one of these will still be maintained and fixed 3-5 years down the line. Because that's at least as long as your project will run, and one thing is certain, you will NOT get the time or resources to redo it just because whatever lib you chose doesn't exist anymore.
Good luck.
Re: (Score:2)
I have been using Python for 2 decades and I never ran into anything you described.
Nearly all the libraries I am using for work in Python now have been around for more than a decade and are maintained by a large number of people.
NumPy, Pandas, Tensorflow, PyTorch, scikit-learn, statsmodels, NLTK, Gensim, Matplotlib, Seaborn, Jupyter etc.
I mostly just use curated libraries from Anaconda repositories.
Sure, there are 415K modules for Python, because any random hobbyist or student can upload a module to the rep
Re: (Score:2)
I'm fairly language-agnostic because I'm on the other end of the development chain. I'm security. I'm the asshole that digs through your code, pulls out the libraries and tells you that it's not ok to use a lib that hasn't been updated since Obama was still in office. And that the next major version has been out. And it's incompatible with your code. But there isn't a secure version of your ancient library available.
And then we bicker back and forth until the CIO bickers with the CISO over the same shit. An
Re: (Score:2)
Riiight, I am pretty sure my research code never needed a "security" audit :-).
Sounds like a frustrating job.
Old is always vulnerable for you? Your devs can't refactor a bit to accommodate a newer library?
Re: (Score:3)
Old is not always vulnerable to me, old is often vulnerable because security is a moving target and new exploits get discovered and developed every day. So eventually something will surface.
And it's usually not a problem of being able to refactor, it's a matter of time and money. Take jquery. Last version of the first major release was 1.12.4. Here's [security.snyk.io] a quick overivew of its known exploits that you will have no problem finding ready-to-use exploits for in various exploit frameworks, no skill required.
You hav
Re: (Score:2)
I believe you. I can see the tension with devs not wanting to update to the latest libraries and wanting to stick to older familiar versions. Enterprise devs tend to be more conservative with tools.
We have the opposite issue. We love to use the latest versions for that extra helper function, since we don't work in large teams. The problems here are, are all the metrics being calculated the same way between versions? Its more about reproducibility and correctness than security.
My code is almost never not exp
Couple of thoughts (Score:3, Interesting)
Javascript is for the modern producers of spinning flaming skulls and other 'cool looking' front end stuff. Java is for actually getting the job done in terms of running a business, by producing a code base that can be maintained by people who have to go back in 10 or 20 years from now (i.e. not some horrible mess of a language like BS, I mean JS).
Rust goes from 1 programmer to 10 programmers so it increases amazingly by 1000%. But shit Java goes from 8 million to 16 million programmers; a shit 200% in comparison.
JVM: still the #1 professional backend choice (Score:5, Insightful)
Java is for actually getting the job done in terms of running a busines
What job is that? What actual business software - and by that I mean more serious than the messaging app your employees waste their time on - is written in Java? Oracle's own PR department tried to come up with the top 25 things ever written in Java [oracle.com], and all even Oracle could come up with was a list of toys and crap. Out of the top 25 greatest Java apps of all time, more than a third are actually just tools for writing Java apps. That says something. There are some other things on that list which are superficially interesting, but the closer anything comes to real work on that list, the more likely it is that the Java side of it is a small front-end on a far larger back end doing the actual heavy lifting.
Java is for writing phone apps. And, I'll add, even most good phone apps have their "real work" done in compiled code written in a real language.
The Java Virtual Machine is the top backend software platform. It leads for transaction processing and the majority of REST services, especially those that make money are written in it. Everyone who is anyone uses it, including Microsoft, who have a vested interest in using C# instead. If you weren't aware of this, you're not a working professional.
By majority, I mean top numerically. There are still many competitors with a huge chunk of the market. C# is the main reputable one. Go and Rust are still niche, but have potential. Node and Python are also competitors, but I personally have an extremely low opinion of both...however many, almost exclusively those with less professional experience maintaining software that actually makes money, consider them major players as well. Even most video game companies rely on Java at some point in their backend stack.
For as much fun as it is to shit on Java, if you spend time with any of their competitors, you'll greatly appreciate them. You may still go with someone else, but you'll realize anyone who has as simple opinion of Java is not very bright. It has much to learn from others, but writing apps in Node.js, Python, and Go...they have much more to learn from the Java ecosystem than vice versa.
If you're spewing this, you're either not a working professional or not a very good one. Also, if you think you can write something that scales far better in a different language, you're quite ignorant of both how well a JVM performs in a production environment (when the code is written by a competent professional obviously) and probably quite ignorant of how your platform of choice performs. Believe me, if you were right, we would have all dropped it for your platform long ago. Java has been the dominate player in the business world for over 20 years for a good reason....mostly the weakness of its competitors.
I personally agree... (Score:2)
> but writing apps in Node.js, Python, and Go...they have much more to learn from the Java ecosystem than vice versa.
Node.js has much to learn from absolutely everyone. It was born from the fires of all the accumulated knowledge that its founding devs decided wasn't important at all. It's refused to relearn most of that, so what we're left with is a cesspool of hard to run, hard to maintain infrastructure and a whole load of unmanaged, unvetted libraries that get pulled in by the dependencies you actually want to use (plus whatever shabby code your hipster devs produce). It's the place where library devs with a grudge go when they want to "express" themselves to their user base.
Server-side javascript isn't necessarily a bad idea. Node.js is though. Java has nothing to fear from it at all.
...but I fight that fight regularly. So I state node.js as a competitor only to be diplomatic. :)
Maintaining 10 year old node.js and python applications that have switched hands 3x has been an expensive disaster...hence why many shops who don't even like Java eventually migrate to it. Sadly, many shops allow the innovation to be carried out by the newest developers and people who have no experience actually maintaining working, profitable applications...often because the veterans are needed to keep th
Re: (Score:2)
Java is certainly a good platform for most of the use cases where it is widely used today. Network effects should ensure that this continues to be the case for a long time.
However, I believe that, now that it is open-source and cross-platform, modern C# and .NET Core are a better choice for new projects targeting those same use cases. A few of the main reasons why:
C# is a worthy competitor, but your details... (Score:2)
Java is certainly a good platform for most of the use cases where it is widely used today. Network effects should ensure that this continues to be the case for a long time.
That's a very back-handed compliment. Java's market positions is based on merit as much as entropy. It outperforms most competitors in most situations and has great language features and if you don't like Java, there's a lot of great JVM languages you can easily use, like scala or kotlin. Hell, I fucking love Groovy and that's seem to have fallen out of favor.
However, I believe that, now that it is open-source and cross-platform, modern C# and .NET Core are a better choice for new projects targeting those same use cases. A few of the main reasons why:
OpenJDK is a drop-in replacement and that's a well known fact. Please don't spread FUD. That's like me saying C# doesn't run on Linux. It's not
Re: (Score:2)
I certainly don't mean to misstate anything about Java. So I'm willing to stand corrected about most of your points. I was actually a fan before Oracle (and before C# and .NET became open-source and cross-platform, providing for the first time a real non-Oracle alternative).
But I have to stand by my point that Oracle. Oracle is a highly litigious company, and for that reason I don't trust anything they touch. I've been personally threatened by them multiple times, for use of products I'd never used. Th
Java is 100% free (Score:2)
But I know we have Java on half a
Re:O_O (Score:4, Informative)
Java is used for lots of internally developed line-of-business software. Banks use it for the back-ends that drive their online banking web sites. Market making companies develop their trading UIs with it. Hell, Twitter ported their back-end from Ruby to Java because Ruby wasn't scaling up adequately. Sure, it's an over-engineered resource pig, but it's the new COBOL - it isn't going anywhere any time soon.
Re: O_O (Score:2)
"Who uses Java?"
"Who even uses Windows?"
You people crack me up. .NET runtime your brain would probably melt.
If you found out how many games you own are written on C# on an open source cross-platform
Computing as a hobby, and computing that makes money are very different worlds. I know sometimes it's confusing which side is chasing the other for new ideas but there are completely different needs. Java is extremely popular in the business world, it just is.
Try banking, finance and insurance (Score:3)
What job is that? What actual business software - and by that I mean more serious than the messaging app your employees waste their time on - is written in Java?
I seriously doubt if you have worked on systems more serious than a messaging app.
Java had been heavily used on server side since very early on, around the time of Java 2 (remember J2EE?), because WORA actually didn't work well on the PCs at that time for the client side (too slow and not enough memory for the JVM), but worked so much better on the back end server side with a controlled environment and $$ to buy powerful machines.
Java was and still is being used heavily in, just for example, banking, financ
Re: (Score:2)
Even to this day, the best way I know to achieve WORA on the client side is to target Web technologies for the UI.
Best WORA technology on the server side is probably Docker. A properly written and containerized app should be able to be hosted on pretty much any platform that supports Docker.
So, in spite of the learning curve (I've done mostly rich-client work for decades), I'm working on switching to these platforms for as much new work as I can.
Re: (Score:2)
>Oracle's own PR department tried to come up with the top 25 things ever written in Java, and all even Oracle could come up with was a list of toys and crap
Most of the stuff written Java isn't cool or exciting. There's a lot of web services and applications that are extremely important to the businesses that require them for day to day operations but really don't make a good story.
Also, I'm not sure what you're going on about with "toys and crap". The first 5 is all about space exploration. There's defi
Re: (Score:2)
and by that I mean more serious than the messaging app your employees waste their time on - is written in Java?
Basically every business software.
Java is for writing phone apps. And, I'll add, even most good phone apps have their "real work" done in compiled code written in a real language.
Java is "a real language" just like any other programming language, and it is compiled, just like C or Pascal.
You are seriously mixing up some things.
Re: (Score:1)
Java is "a real language" just like any other programming language, and it is compiled, just like C or Pascal.
Are you living in a hole? The only widely deployed compiled version of Java was gcj and it was discontinued as the bad idea it always was. There are a few other fringe compilers, but nothing that is in wide use.
When I say compile, I mean a real compiler. Not Java's bytecode crap, which is basically just a modern version of Pascal's original P-code (and we all know how much that is used today). Bytecode "compilation" isn't "compiliation". It's a binary form of source code storage and running bytecode on
Re: (Score:2)
Java is compiled. You wanting to pretend it isn't doesn't make it so.
Most business software that is written in Java is in-house developed by the companies using the software. The fact that you don't know this (and thus ask for 'widely used' software) goes to show you know nothing about business software, or the companies that use it.
Re: (Score:1)
Oh! It's that SECRET business Java software. The stuff no one knows about but which is nonetheless extensive and powerful. THAT software.
if Java was the language of choice for doing "real work", we'd see it reflected in the wild too. We'd see it used in commercial software, we'd see it used in open source software. But we don't. I mean, not outside of smartphone apps. Now, I have no doubt that Java is used in business, but it's not used in business in any way that is different than the way it is used
Re: (Score:2)
Do you also deny that much 'real business' software is/was written in COBOL? How much COBOL do you see in open source software or 'in trhe wild'? And here is another clue for you - mainframes have special instructions (implemented in hardware) to do things like enable pause-less garbage collection for Java. They also have special instructions for things COBOL does. Why? Because the vast majority of software running on these machines is either Java or COBOL. And nobody is using mainframes for 'quick and
Re: (Score:1)
Do you also deny that much 'real business' software is/was written in COBOL?
God no! COBOL is a great language! And there are lots of open source projects [awesomeopensource.com] in it, just as there is a great open source compiler for it. A real compiler that produces native code (through "C" as an intermediary). There is still a raft of business software, and commercial software that still sells that was/is written in it. I have no issues with COBOL. I did some work in COBOL years ago.
Now, please, learn your history of computing. The whole point of a "compiled" language has, for the vast majority
Re: (Score:2)
Your ever so condescending description of bytecode tells me all I need to know - you haven't got a clue. 'A form of run-length encoding'??? Seriously? Bytecode is NOT 'a compressed form of original source' (like C64 basic tokens were). The JVM is a stack-based abstract machine, with things that a real machine has, like storage and an instruction set. The instruction set contains the things you would expect to find in an instruction set - loads, stores, branches, call, return, push, pop, arithmetic, log
Re: (Score:1)
JIT COMPILER
*sigh* I really wish the younger crowd would stop with this. Please, just stop. JIT is a marketing term. It is not done once per method and never done again, because that's not the way a JVM works. JVM's version of JIT caches some compilation results, but compilation in a JVM isn't done the same way it's done in a real compiler and has to be redone depending on a lot of conditions. Tight loops with few-to-no conditions inside them may make a piece of JVM-JIT-cached interpretation survive a long time.
Re: (Score:2)
Well, at least you have backed off your very incorrect claim of what bytecode is. Now let's do the same thing for JIT. First, it is not a 'marketing term'. The JITC is a real compiler, doing all the things a 'real compiler' does. It starts with source (bytecode), determines what is actually being accomplished (by making graphs, etc), and generating native code to implement that in the most efficient way. And since the compilation is happening on the exact hardware that will execute it, the compiler kno
Re: (Score:2)
Java was (slowly) on its way out of existence until Google decided it was the language they wanted for the Android VM, which brought it roaring back to life. Sure banks and financial institutions and a bunch of businesses in the 90's used it for building their backend and business/enterprise apps, but those same orgs also used and still have a ton of COBOL lying around. They are addicted to using the worst languages that no one in their right mind would make a conscious choice to use. Or, more accurately
Re: (Score:2)
Wait, a network failure is an 'inconsequential thing'? I guess when you write code you use the theory of just ignore failures?
Re: (Score:2)
Oracle's own PR department tried to come up with the top 25 things ever written in Java [oracle.com], and all even Oracle could come up with was a list of toys and crap.
Oh yeah, NASA software to geospatially map the Earth and run the Mars Rover and the Lunar Reconnaissance Orbiter. None of that sounds particularly "mission critical," or like it needs a lot of guaranteed uptime, so of course they're going to use a toy language like Java. And ElasticSearch is neat, but absolutely nobody uses it (well, except Wikipedia, but nobody searches that). Same with Hadoop; if only they'd written it in something like Node.js, maybe somebody would actually use it for something.
Actually,
Re: (Score:1)
Re: (Score:2)
A coworker of mine recently made the statement "The only reason Java still exists is because of Android." I'd be interested in everyone's opinion of how true that is. (All but a few of the programmers at my company are required to use C# and SQL Server.)
Re:Couple of thoughts (Score:5, Interesting)
In reality, if you are a backend engineer, almost any robust system is very likely Java. Think banks, manufacturers, financial organizations, pharma, etc. All of the people doing real business that requires transactional integrity are very likely using Java. It is bomb proof, and actually fairly fast at scale. It requires a lot of resources up front, but then scales very nicely as the loads get higher. The frameworks available on it to do almost anything are readily available and very highly utilized and tested. Unit testing is a breeze in comparison to 'newer' languages. It is really solid in reality.
So yeah, you might not be one of the cool kids if you are programming in Java. I keep up with the latest and greatest languages, but my paycheck comes primarily from Java and has for like 25 years now (yes, I started with the very first version of Java). If you really are good at Java (including frameworks like Spring, etc), you are very likely to always find a job. There is just too much written in it that you never see as a consumer.
Re: (Score:2)
Most backend software is written in Java, and is running on Linux and/or Solaris.
Most Android software in our times is written in Kotlin, albeit it is running on an Android JVM (quite different from the original JVM).
Java bashers simply have no clue about reality and live in a kind of distortion field.
Re: (Score:2)
Javascript is for the modern producers of spinning flaming skulls and other 'cool looking' front end stuff
I think your impression of JavaScript vs. Java is a bit dated. Stuff like Node.js has been putting JavaScript on the server for a long time now. It has JIT compiling to make it run faster. It's got web sockets built in. If anything JavaScript is for modern producers of what used to be called "applets" back when Java was first produced but those are "apps" now and they're a huge business not just a
Re: (Score:1)
Old code will work (often) fine on on the new VM's. Code that uses the new functionality will not work on old VM's.
Just like the new functionality in C++ can not be compiled with an old compiler.
A /. story about programming is like a spring rain (Score:5, Funny)
Re: (Score:2)
Re: A /. story about programming is like a spring (Score:2)
Let's also not forget that literally NOBODY in the late 1990s thought LCDs would completely take over the market the way they did a decade later. Circa 1997, everyone thought the future was field emission displays (basically, a solid-state addressable election emitter behind a very CRT-like phosphor-coated glass panel).
It's actually a shame FED and SED withered on the vine. I saw a FED monitor in person once, and it was really impressive. It was basically a CRT with flat glass, flawless convenience, and per
Re: A /. story about programming is like a spring (Score:2)
Ugh, I hate autocorrect. "convenience" == convergence"
Re: (Score:2)
Survey Says... (Score:2)
Rust Gains Makes Sense (Score:2)