this post was submitted on 04 Sep 2023
66 points (95.8% liked)
Programming
17668 readers
207 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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...