r/Kotlin • u/Certain-Party-6525 Kotlin-team • 4d ago
New JetBrains research: devs switch to Kotlin for the experience, not because they're forced to
JetBrains asked 8,837 developers why they switched programming languages in the State of Developer Ecosystem 2025 Survey. For most languages, the most common answer was that a project required it. Kotlin is the exception:
"People don't go to Kotlin because they have to, but because it offers a better development experience and more modern language features."
The migration tables for the most popular languages, with the reasons given for leaving and joining, are here:
•
u/smoke-bubble 4d ago
I prefer kotlin to anything else too.
However, I passionately hate gradle! The dotnet build concept is much more pleasant. You rarely need to edit the csproj file while you have to be an expert in gradle to setup all the damn plug-ins and dependencies and source sets correctly or configure custom tasks.
•
u/ahusby 4d ago
I wonder if Mill is a good replacement for Gradle. They claim:
Simpler than Maven, with declarative build.mill.yaml files often 1/10th the lines of a pom.xml
Easier than Gradle or SBT, with object-oriented builds any developer can intuitively understand
Fastest builds on the JVM, 3-7x faster than Maven or Gradle due to aggressive caching & parallelism
•
u/jambonilton 4d ago
Try Kotlin Toolchain. It's still not at parity with Gradle, but it works for a lot of applications now.
•
u/thomascgalvin 4d ago
If anything, it's been me forcing my leadership to adopt Kotlin, not the other way around
•
u/DerekB52 4d ago
I was teaching myself android dev in 2017. I watched the Google IO talk announcing Kotlin as a first class language. I set it up that day, and have honestly never looked back.
•
u/Most_Acanthaceae_928 4d ago
A lot of people come to Kotlin because of Google making it default for Android. Once someone is here, they see succinctness of language, idiomatic syntax- which is a significantly better DX than most other languages without needing you to switch the thinking paradigm that most of us have grown up with. Coupled with powerful ecosystems like JVM and Android- it becomes very sticky. As a side benefit, it also reduces lines of code- less code reduces surface area for bugs and maintenance.
•
u/programadorthi 4d ago
Google since 2017 stopped little by little delivering Android resources with Java. I think Android 36 still without Virtual Threads. Compose was built Kotlin first but the survey says that wasn't an enforcement? 🤣🤣
•
u/Acceptable_Link3838 4d ago
I’ve done a lot of things over the years but if I had to pick a language over others, that would be Kotlin. I’ve always enjoyed working with it, be it Android, Spring Boot, testing or whatever. It just feels right.
•
•
u/jNayden 4d ago
Nowadays AI is writing code and Kotlin is not easy even for AI
•
u/Brutus5000 4d ago
In my many class/file migrations from Java to Kotlin the average number of lines of code was reduced by ~30%. Along with null safety it gives more precision with less token usage...
•
u/One-Lingonberry7474 4d ago
Could you share more of your experience with AI in Kotlin? Where does it struggle most you think? Just doesn't write idiomatic kotlin but tends to do things more java way? It should have substencial training data from the android apps after all I'm guessing. Not as big as TypeScript/Python of course, but still. You think with AI all less common languages will just eventually die or have no growth?
•
u/sjshuck 4d ago
You're saying "you think" multiple times to someone who doesn't. 😉 To the actual point, AI is thought to be very good even with super-niche languages like Lean4 for which almost no application code exists on which to train models. Also, nobody who AI codes cares about "idiomatic" anyway. In my experience, generated Python does a lot of things "by hand" and doesn't seem interested in language features or expressivity.
•
u/AWildMonomAppears 4d ago
I think it's because Kotlin is built as a Java replacer. Java is still very big and not... universally loved, let's leave it at that. Language migration is also usually a complete rewrite. But here you can just chose to replace Java with Kotlin and go one file at a time.