Kids don't listen to the creepy old man above ^^.
Kotlin exists just fine without LLVM. Per default it compiles to Java bytecode whereas LLVM compiles to machine code.
Kids don't listen to the creepy old man above ^^.
Kotlin exists just fine without LLVM. Per default it compiles to Java bytecode whereas LLVM compiles to machine code.
There is no "default" compiler in Kotlin. You have to pick a compiler based on your target binary type. The JVM-stack is just the older one.
The older one, yes and as far as I can see from my vantage point also the stack of choice for at least 90% of commerical and community projects.
From the 5 use case presented here https://kotlinlang.org/docs/getting-started.html#console only half of one (cross-platform iOS) needs native.
That makes it "default".
And that also means without LLVM Kotlin would not just technically function just fine, the community/industry would continue to exist just fine.
It's true that most of Kotlin usage is for the JVM. But Multiplatform is changing that. In the last 3 years JVM-based code became a massive drawback to any Kotlin app, triggering massive rewrites in the most used Java codebases.
I know people in health care, for instance, that are currently migrating massive amounts of EHR code (10s of millions of lines of code) into Kotlin just because of native.
Kotlin was born out of spite for Java. And that is still true today. It only got to exist because of Android's preference for Kotlin. But that wasn't enough to establish itself. Since 2018, when Jetbrains introduced the idea of Native with LLVM, the entire ecosystem got 10xed to become a real language (instead of just another JVM flavor, like groovy).
The LLVM turned Kotlin from a fringe flavor language to a real one.