Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's actually still super popular at many or most large companies. Not small companies.


A lot of those companies are either looking like they'll never change (e.g. banks) or are actively transitioning to things like Kotlin. I've made that transition myself and at this point I'm seeing a lot of signs that this was the right move.

E.g. Facebook, Google, Amazon, and others have used a lot of Java in the last twenty years and many of their teams are transitioning to Kotlin at this point (each of them have talked about this in public). With many millions of lines of code that's a slow transition obviously but Kotlin is apparently the goto choice for a lot of new stuff.

Java is turning into the Cobol of our generation. People will still be doing this for a long time. But not a lot of young people are likely to want to do that. It's not an obvious choice for new projects at this point.


Kotlin isn't really used as much as people think outside Android, besides it is useless without the Java ecosystem it depends on, in a platform written in a mix of Java and C++.

https://learnhub.top/the-most-in-demand-programming-language...

https://newrelic.com/resources/report/2024-state-of-the-java...

https://www.itpro.com/careers/29133/the-top-programming-lang...


Actually, I use Kotlin in a browser using Kotlin multi platform. Things are changing rapidly and you can do a lot without any Java libraries whatsoever at this point. The multiplatform ecosystem is growing very rapidly now.

Also, you might want to read up on how Amazon, Google, Facebook and other companies are moving to Kotlin internally at scale for server side use. They've been pretty vocal about that. A lot of Java shops are of course a bit glacial in their adoption of new technology. That's why I refer to it as the new Cobol. That has less to do with the language and more to do that this kind of companies simply don't change very easily. You'll find some actual Cobol lurking in a lot of these companies as well probably.

Kotlin was originally developed to be a drop in replacement for Java in any Java project. Android developers embraced it in a hurry because they were stuck with a relatively old and crappy version of Java because of the whole Oracle law suit with Google. Google made that official shortly after Kotlin 1.0 released acknowledging that many Android developers were voting with their feet at that point already. They also just embraced Kotlin multi platform at Google IO a few months ago.

On the server side, people have been using Kotlin for about as long. But things move more slowly there. Spring launched their Kotlin support around Spring Boot 2.0. That's six years ago already. It worked fine before that but that's the moment they started shipping lots of out of the box Kotlin support. Frankly, if you are using Spring and not using Kotlin, you're missing out big time. Lots of companies of course insist on doing things the verbose and hard way with Java.


Snow flake hyperscallers, with vouched interest in Android ecosystem, aren't the same as everyone else.

The Oracle excuse is bonkers, everything on Android depends on JVM, written in Java, and Maven Central libraries, written in Java.

If Oracle actually played a role they would have switched Android to Dart and Flutter.

Kotlin was adopted by some management folks on Android team that are Kotlin heads, and to this day most Android documentation samples use Java 8 as counterexamples to how Kotlin makes things better, completely dishonest.

Looking forward to see JetBrains shown off their ecosystem rewrite in Kotlin Native, showing the rest of the world how Java is so passé.


I'm not sure what you are going on about here. Around the time Kotlin launched, Java was on version 8 and most of the Android world was still stuck with version 6 and missing out on quite a bit of nice stuff that came with newer versions. The Oracle dispute was specifically about Google's implementation of Java on top of Apache Harmony (developed by IBM orginally) which was an alternative implementation of the Java standard library. Since the dispute was resolved they transitioned to basing their libraries on OpenJDK and these days are a bit more up to date.

Anyway, Kotlin came along as that was still in the courts. Google understandably wasn't putting a lot of effort in updating the compiler or the core Java libraries. With Kotlin, developers gained access to a lot of modern language features.

So, not bonkers but well documented history. If you want to try your compose apps on IOS, you can now. It's currently in Alpha release. Zero java libraries running on that platform. All Kotlin multi-platform backed by IOS native.

As for Kotlin getting endorsed by Google. That wasn't management doing anything other than responding to a lot of Android developers enthusiastically adopting Kotlin long before it was even releases properly and getting some good results. App development is super competitive and developers aren't afraid to try out new stuff if it gives them an edge. And Kotlin did exactly that.

Between that and the Oracle dispute, it was a logical move for Google to make it official. In the same way Jetbrains move to push kotlin multiplatform and compose multiplatform originated outside of Google. And is now getting endorsed by Google as well. I guess the compose team and the flutter team are in different parts of the org chart.


Yet in 2024, the anti-Java speech with Java 8 samples continues, and they only updated ART to Java 17 LTS, because Android was losing out on Modern Java ecosystem.

While using Android Studio, Gradle, Android SDK, Kotlin compiler, D8, R8, all running on top of Java Virtual Machine, using Java libraries from Maven Central.

So much for breaking free from Oracle.


> Java is turning into the Cobol of our generation

Despite speed of Java evolution accelerating and Java being the best Java has ever been, I agree with this. Everything is Javascript or Python these days, Java is seen as old, boring, hard, inconvenient as you need to compile it and often it doesn't compile. Javascript/Python happily run until they don't and fail at runtime which feels like it just works (until it randomly doesn't) and you can pick up a teach yourself Javascript/Python in 24hrs style book and feel you are a competent developer very quickly.

A lot of Java positions I see now are maintenance roles, which isn't a great thing. Maintenance roles are never great, often seen as bottom tier developers. Unlike Cobol, there's likely many more people who have programmed Java than Cobol so even if Java dev becomes a niche I suspect they'll still be enough of them around that compensation is not anything significant.

Kotlin is nice, let's see where it is in ten years. Closure, Groovy, JRuby, Scala are also nice but ultimately Java won as the modern Java and all those other JVM languages that once had interest and promise are now niche or completely dead.


That's what I'd have thought, but it's looking bleak. Who do you have in mind?


Look for corporate jobs outside of California/SV-type places. Financial firms, insurance companies, also universities. You won't be blazing any new trails and you might be shocked by the pay difference but you'll work 9-5 with your weekends free and probably good benefits.

You'll have to be able to tolerate some level of Initech-style management but if you just accept that and play along the work pace is pretty relaxed.


I’ve reached the point where every time I see a comment about “nobody wants to hire X programmers”, in my mind I append “… at hot SV startups” because that must be the only way it’s true.


Heh, good for you! I can't wait til I'm at that point too.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: