Python Overtakes Java? JetBrains Releases 'State of Developer Ecosystem' Survey (jetbrains.com) 67
The creators of the Kotlin programming language — the Czech software development company Jetbrains — announced results from their annual "State of the Developer Ecosystem" survey. This year's survey involved 19,696 developers in 18 countries, and found that:
- JavaScript is the most used overall programming language. Websites are the most common type of application developers work on.
- Python has overtaken Java in the list of programming languages used in the last 12 months. And it is also the most studied language. In the last 12 months 30% of respondents have started or continued to learn Python — even more than last year.
- Go, Kotlin, and Python are the top 3 languages developers are planning to adopt or migrate to.
JetBrains also gathered some statistics from programmers for a special section on Lifestyle and Fun:
- 65% said they preferred laptops, while 33% preferred desktops.
- 52% said they contributed to charity.
- 20% said they owned a cat; another 20% said they owned a dog.
- 16% said they owned cryptocurrency.
And when asked if they contributed to open-source projects:
- 44% said "No, but I would like to."
- 20% said "I have only contributed a few times."
- 16% said "Yes, from time to time (several times a year)."
- 11% said "Yes, regularly (at least once a month)."
- 4% said "No, and I would not like to."
- 3% said "I work full-time on open-source code and get paid for it."
- 2% said "I work full-time on open-source code but do not get paid for it."
Also interesting were the answers to the question: If your country's government replaced your courts with AI, would you trust it? The results were:
- Probably not (26%)
- Definitely not (24%)
- Maybe (26%)
- Probably yes (20%)
- Definitely yes (5%)
Re: (Score:2)
It was okay, better than Java for sure, but still lacked pointers which made it clunky.
I am not entirely sure what you are on about, but you certainly don't seem to understand a few of the meatier differences between C and C++. I am actually not really sure you understand the key differences between Java and BASIC. This bit here:
garbage collect is dumb, pointers are what make your code fast and smooth operating
Is this like Poe's Law: Now for Programming? 0_o
Re: (Score:2)
I know C/C++ just fine.
What language is C/C++?
Re: So many useless languages... (Score:1)
Re: (Score:2)
It still sucks today even with those problems fixed, because garbage collect is dumb, pointers are what make your code fast and smooth operating
What? The reason why Java's GC sucks is precisely because almost everything is pointers. If it weren't, Java's GC would have much less work to do.
Re: (Score:2)
Oh, such a lie that everyone told. C/C++ doesn't have a function to detect if there's new input coming from the keyboard, without having to use library-specific functions. In fact, doing anything more than basic text input/output requires system-specific libraries, and the Usenet newsgroup for C would have the users snarkily mention that kbhit() isn't a function in Ansi-C.
Any serious open-source project using C... it often goes t
Probably (Score:4, Interesting)
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
Yeah ... where I work we use Java, C# and some python for scripting and glue code. I've been playing with Dart and I like that alot ... I haven't tried Kotlin .. seems like Dart or Kotlin would be way to go after Java. I've used Python, it's ok, but I agree with the sentiment that you can make much more robust solutions in Java and C#.
Re: (Score:2)
Even the developer tools have a lot more functionality in Java because of more static typing.
Tool functionality is a really sad loss when you switch too Python. Even simple things like renaming variables are a lot more difficult.
Not surprising (Score:3, Informative)
It wouldn't surprise me if Java use is declining. Quite a few people started looking into alternatives when Oracle bought Java, and thanks to Oracle's recent licensing shenanigans with the Oracle JDK [lakesidesoftware.com] (short version: don't use it unless you want to pay Oracle, instead use the OpenJDK and hope security fixes get back-ported), that became less of a "looking at" and more of a "planning migration strategies." I don't remember the exact corporate policy for doing new work in Java these days, but it's effectively "don't."
Congratulations, Oracle, by being Oracle, you've successfully driven people away from Java. Took them a few years to do, but they did it.
Re: (Score:2, Informative)
Re: (Score:3)
Actually my understanding is that now OpenJDK is considered the reference implementation.... The oracle jdk is a derivative.
Re: (Score:1)
Re: (Score:2)
I think you are missing the fact that as "enterprise" tools, these probably do things like
// BUG ID #14365: Negative test case: The program shall work on the following JVM version...
if (System.getProperty("jvm.vm.name") != "Oracle JDK 1.8.1_b164"))
throw RuntimeError("Unknown problem");
Re: (Score:1)
Also, given the context of the discussion, I'd like to see how Python would fare better in this case, given that not only it breaks compatibility even for small version changes at the language level, but it also carries the compatibility problems of the native libraries that it requires for doing even the most basic tasks.
Re: (Score:3)
Re: (Score:2)
Re: (Score:2)
I admit I didn't like Oracle getting their grubby paws on Java, I think their database product is a piece of shit and would absolutely never recommend it as fit for any purpose. I can't blame them as it is probably a spaghetti C code base inherited from the 80's, but I can blame them for not even trying to modernize it and fix some of its more obvious flaws.
However, when it comes to Java, they seem to be at least doing a reasonable job, definitely a better job than most would have expected. The current la
Re: (Score:2)
You're not so sure they would have done a better job, honestly, I don't know how they could have done any worse.
Java is nowhere near as popular a programming language as it was before 2010, and for that, you can thank Oracle and their asinine policies. Between trying to tell Google that the Java API is copyrighted and any possible reimplementation of that API is copyright infringement (an allegation that itself would mean that all software that offers any compatibility with another infringes on the for
Re: Not surprising (Score:2)
I quite using Virtualbox and MySQL after the Oracle takeover of Sun. A rotten company and an enemy to hobbyist and Foss. Microsoft in comparison which is our old enemy is going the other direction and now including Linux with Windows 10 with WSL2, open sourcing .NET core and porting it to Linux and giving away visual studio code to Linux and making our lives easier rather than harder and suing. I updated my app stack and want I want to learn appropriately.
Oracle can take a hike
Re: (Score:2)
That's where the hardware advances have gone :( (Score:2, Interesting)
By Moore's Law, computers become twice beefier every 1.5-20 years. Which means, today's systems are 1024 times bigger, than 15-20 years ago. And, indeed, they are — faster processors, higher core-counts, bigger caches.
But the "computing experience"? Can you claim, it improved even 100 times since then? Where did the awesome hardware improvements go?
The answer is, programmers — and sysadmins — have taken the bulk of it for themselves:
Re: (Score:3)
The "programming is hard, let's go shopping" mentality is definitely worth criticizing, but choosing LLVM in Rust as your target for critique doesn't make sense. LLVM is a compiler back-end, specifically designed for that purpose. They couldn't have re-invented that wheel easily. It's a highly respected piece of software, and integrating it into a new systems language makes perfectly good sense.
If you want to criticize 3rd party code, you should have gone after the kind of linking that JavaScripters do.
Re: (Score:3, Insightful)
Using LLVM is fine. Bundling it into your own source-release is what I'm criticizing. Rust-maintainers should say: "You need LLVM (of at least this version)". Instead, they bundle a version with Rust's own sources...
That target is too easy. Also, someone would jump in with the "solution" of insisting on a par
Re: (Score:2)
Arrays of characters are so non-mnemonic — let's have a "string" type. And make it immutable!
OK, but it's been decades since I've seen strings cause any kind of memory or performance issue. They just aren't big enough to worry about unless they are in a tight loop, and it would be weird if you are building strings in a tight loop.
Re: (Score:1)
Suppose, you need to process a multi-gigabyte CSV file to change commas produced by one legacy application into semicolons required by another.
When your strings are immutable, you must build a new output string for every input one, copying the data you just read into one place of memory into another. When they are just arrays of characters, you can run through your memory switching the characters in place. My C-program doing this is 3
Re: That's where the hardware advances have gone : (Score:2)
Re: (Score:1)
Like I say, the initial implementation was about 7 times slower. Then, after I wrote it in C, I tried to bring the Python one closer — doubling the throughput by foregoing the csv module.
Yes, and that's the bigger point — using Python requires, at least, 3-4 times faster computers than using C. Or, a minimum of 4 years of hardware developments :(
Re: (Score:2)
Re: (Score:2)
If you need mutable byte arrays, Python has them.
Most modern languages have settled on immutable strings for many good reasons.
Microservices baby! (Score:2)
Mcroservices are all the rage right now and on AWS you can use java but it has a fairly lengthy startup time for its VM on a microservice, about 4 seconds, which is an eternity for a microservice. .NET, javascript and pytthon.
For AWS you can also use
I'm also seeing it being used by recent graduates for actual service development. That seems a bit of a reach to me but they've made it work. (although it's error prone on their part and using java would've caught a lot of their issues they've had but the error
Re: (Score:2)
It must be doing a tad more than that, because a JVM can already do useful work within one second of launching it, as evidenced by actually writing a program that prints some text and seeing how long it takes to run it.
If you're doing anything more, than you'll need to compare apples with apples.
Also, micro services won't be the rage that much longer. I think a much better rule of thumb is one service (at a time) per team of developers you employ. Companies that delude themselves in thinking they're gonn
Re: Microservices baby! (Score:2)
I am more of a MIS guy than a developer these days but couldn't you spawn instances on the cloud as demand picks up and then after an instance is spawn assign a user and initialize it into a session and start doing work? I am aware it would cost extra $$$ but having them open for 10 seconds each and when demand lowers start closing them after 10 seconds of no activity?
I dunno as I never wrote such an app??
Re: (Score:2)
Re: (Score:2)
Lambda is fine. It had some issues the first year or so after it launched, but they were on top of it. Adding Python was a great follow-up, too. But then, I expect good things from a dev team that flies a Knights of the Lambda Calculus flag in their office (the Yin and Yang with lambda and Y, centered in a skull).
What's not fine is to build an "architecture" for your service by stringing a dozen lambdas together with message queues and DDB triggers to handle a single call. Once things get that complicat
Re: (Score:2)
Re: (Score:2)
Oh? What, specifically? I've never had a problem using it for simple, one-step things (at least, not after the first year it was out).
Popularity != good (Score:4, Insightful)
In 1965 Wondrbread was the most popular brand of bread.
And "Friends" is one of the most popular TV shows of all time, even though it is one of the stupidest.
Guido van Rossum, creator of Python, wrote, "I've learned a painful lesson, that for small programs dynamic typing is great. For large programs, you have to have a more disciplined approach. And it helps if the language actually gives you that discipline, rather than telling you, 'Well, you can do whatever you want.' "
Re: (Score:2)
What are you talking about? Friends wasn't on the air in 1965!
No argument from me about it being one of the stupidest shows of all time, however.
Re: (Score:2)
Re: (Score:2)
Guido van Rossum, creator of Python, wrote, "I've learned a painful lesson, that for small programs dynamic typing is great. For large programs, you have to have a more disciplined approach. And it helps if the language actually gives you that discipline, rather than telling you, 'Well, you can do whatever you want.' "
Back in the day, Python was competing with Perl in the scene of scripting languages. These were not intended for larger projects, where something like C or C++ would be more typical. Of these two P's, Python was portrayed as the disciplined approach: it was meant to provide one, clean way of doing something vs. Perl's "there's always one more way to do it". Of course, the present discussion is in a different context, but it's still interesting to see Python painted as the messy alternative, by no other than
Re: (Score:2)
Yes, Python is certainly cleaner than PERL. PERL is powerful, but it does not lend itself to creating well organized code. Python does, but alas it is hard to maintain too. The main problem is knowing what a method returns - I have spent hours trying to decipher Python methods to figure out if they return an object or an array of objects - simply because the method doesn't have to explicitly say what it returns.
One nice thing about Python is it is really easy to learn. Thus, novice programmers can pick it u
How Many... (Score:2)
Re: (Score:1)
Re: (Score:3)
Surveys like this are like best-seller lists. A *real* best-seller list (i.e. one that literally shows which book titles are selling best) consists of 8 "Chicken Soup for the xx Soul" and some other titles that are boring as all get out. No one wants to read about that.
A "best seller" list of programming languages is like that. I don't want to know which languages are most used. I can just look around for that.
No, I want to be entertained by an article that shows "What do other programmers *think* shoul
Trust AI? (Score:1)
> If your country's government replaced your courts with AI, would you trust it? The results were:
>
> Probably not (26%)
> Definitely not (24%)
Wow. That's a lot of AI programmers.
Need a better question... (Score:2)
Re: (Score:2)
Russian not Czech (Score:2)
so... (Score:2)
Also interesting were the answers to the question: If your country's government replaced your courts with AI, would you trust it? The results were:
Probably not (26%)
Definitely not (24%)
Maybe (26%)
Probably yes (20%)
Definitely yes (5%)
So 51% of developers, at a minimum, are idiots.