It’s fairly ingrained in the programming world now. A lot of common problems are known and solved. A lot of devs can code in Java with little uptake. Java runs everywhere. The tools are pretty good.
Desktop apps and servers run it. So like, processing things and all that run well with it.
As mentioned before, Android uses it too. So there’s a lot going on.
Java is the only programming language to get popular as a result of marketing. Java was marketed so hard that the company who built it (Sun) went under, but Java did get some really wide adoption.
Java is the backbone of Android. If you want to build apps for Android you’re using Java or one of the languages built on top of it (Kotlin, Scala, etc).
It’s pretty hard to justify rewriting your codebase to another language. So Java is still around. If you need more proof of this, Most people are still using Java 8 (including android) we are currently at ~java 20.
Very few android jobs are Java anymore. Native android is almost exclusively Kotlin, barring legacy code.
This is because Kotlin has nearly full interop with Java code and integrates into Gradle well. You can just swap over to Kotlin dev with a small investment of a few weeks learning curve, then program faster and cleaner than Java.
Android is currently on Java 17 for what it’s worth, though very few codebases have gone through the process of upgrading to 17/Kotlin 1.9/Gradle 8.1
Most people are still using Java 8 (including android)…
Surveys don’t seem to back this up any more… Yes there’s a lot of Java 8 code. But more and more of it is maintenance rather than new development. Respondents of surveys that are able to list the versions they use in production (vs ‘pick one’) have indicated that for many teams with exposure to Java 8, they also have newer versions in production - showing that Java 8 is increasingly about maintenance than ongoing development (with the blocks to moving forward being a mix economic and technical factors).
The most dominant frameworks in the industry are ending their support for Java 8 - so not too far down the track, staying on Java 8 will mean that while you can pay for platform support, framework support is going to disappear anyway.
…we are currently at ~java 20.
Yes Java 20 is the current release, with Oracle’s LTS being Java 17 (the previous ones being 17, 11 and 8 - with 8 having the largest paid support window).
Java 21 is out in a couple of weeks and will become the new Oracle LTS (other vendors and frameworks tend to align on this LTS designation so it continues to be important).
Java is the only programming language to get popular as a result of marketing.
I don’t think this is true. Java is an outstanding tech stack and was revolutionary in a lot of ways, to the point that it motivated others to shamelessly clone it and in the process create other outstanding tech stacks. See C#.
For starters, Java solved the deployment problem way before containerization was a thing. Developers could simply put together a fat JAR, drop it in a web server like Tomcat, and it would simply reload without a hiccup.
Java is also very tooling-friendly, and has a solid versioning policy.
Just as an example, I worked as a contractor with the biggest bank in Latin America before and basically all their server code is Java (with new code in Kotlin nowadays).
I’m not a programmer, but why is Java so high up? Are that many devices still running it?
Java is #1 in enterprise. Pretty solid.
It’s fairly ingrained in the programming world now. A lot of common problems are known and solved. A lot of devs can code in Java with little uptake. Java runs everywhere. The tools are pretty good.
Desktop apps and servers run it. So like, processing things and all that run well with it.
As mentioned before, Android uses it too. So there’s a lot going on.
I think it’s a mix of three things.
Java is the only programming language to get popular as a result of marketing. Java was marketed so hard that the company who built it (Sun) went under, but Java did get some really wide adoption.
Java is the backbone of Android. If you want to build apps for Android you’re using Java or one of the languages built on top of it (Kotlin, Scala, etc).
It’s pretty hard to justify rewriting your codebase to another language. So Java is still around. If you need more proof of this, Most people are still using Java 8 (including android) we are currently at ~java 20.
Clarification:
Very few android jobs are Java anymore. Native android is almost exclusively Kotlin, barring legacy code.
This is because Kotlin has nearly full interop with Java code and integrates into Gradle well. You can just swap over to Kotlin dev with a small investment of a few weeks learning curve, then program faster and cleaner than Java.
Android is currently on Java 17 for what it’s worth, though very few codebases have gone through the process of upgrading to 17/Kotlin 1.9/Gradle 8.1
Huh, I thought the android stack was basically hard stuck at Java 8 and that’s why Kotlin still supports Java 8.
Nah we were stuck for years but then they migrated to 11 and now 17.
…I just ran the migrations so I’d know.
Surveys don’t seem to back this up any more… Yes there’s a lot of Java 8 code. But more and more of it is maintenance rather than new development. Respondents of surveys that are able to list the versions they use in production (vs ‘pick one’) have indicated that for many teams with exposure to Java 8, they also have newer versions in production - showing that Java 8 is increasingly about maintenance than ongoing development (with the blocks to moving forward being a mix economic and technical factors).
The most dominant frameworks in the industry are ending their support for Java 8 - so not too far down the track, staying on Java 8 will mean that while you can pay for platform support, framework support is going to disappear anyway.
Yes Java 20 is the current release, with Oracle’s LTS being Java 17 (the previous ones being 17, 11 and 8 - with 8 having the largest paid support window).
Java 21 is out in a couple of weeks and will become the new Oracle LTS (other vendors and frameworks tend to align on this LTS designation so it continues to be important).
I think you replied to the wrong comment but: all correct.
Oops. Just imagine the karma I would have lost, were I still on Reddit…
I don’t think this is true. Java is an outstanding tech stack and was revolutionary in a lot of ways, to the point that it motivated others to shamelessly clone it and in the process create other outstanding tech stacks. See C#.
For starters, Java solved the deployment problem way before containerization was a thing. Developers could simply put together a fat JAR, drop it in a web server like Tomcat, and it would simply reload without a hiccup.
Java is also very tooling-friendly, and has a solid versioning policy.
Just as an example, I worked as a contractor with the biggest bank in Latin America before and basically all their server code is Java (with new code in Kotlin nowadays).
Do they still have the “billions of devices running java” banner when installing the jre? They could be including Android, as it mostly uses Java.
A lot of commercial apps are built with it. And if you’re not using Kotlin, you’re probably using Java for Android dev.