Is there a reasonable explanation for why Kotlin isn't getting enough on HN, at least as much as Rust or Zig.<p>Kotlin is indeed popular in it's specific domain (Android & Java). But the company is keen to position it as "write once run anywhere" space with a strong focus on multiplatform development.<p>1. The build system provides platform specific bindings for free (compared to the hassle of writing the core in C/C++ and then hand-writing platform specific bindings)<p>2. Keen focus on enabling single codebase for multiple platforms.<p>3. The company went so far, as to build a multi-platform UI Framework (Compose Multiplatform) that directly renders to Skia and runs on all mobile/desktop platforms. And even on browsers (with wasm)<p>https://kotlinlang.org/docs/multiplatform.html<p>https://www.jetbrains.com/lp/compose-multiplatform/<p>I find it odd, that such interesting a language / compiler finds little attention beyond its domain.<p>Is there any reasons for this that I'm missing?
The features you describe in a way is what I see the biggest downfall.<p>The idea of Kotlin multiplatform itself is good, but I don't think Jetbrains as a company can sustain it. They're trying to do too much for their size and it shows. There are bits and pieces everywhere but they lack polish.<p>There's a lot of "Kotlin way" libraries, frameworks and language constructs that are all 1/2 backed. They either have bugs, missing enough features that you can't use it in a full project or get abandoned. It lost focus moving to multiplatform. Perhaps it'd be better if they focused back on being a better Java. Not to mention the Kotlin compiler is as slow as a snail. This is being worked on in 2.0, but for now and for a long time it's been terrible.<p>On the other hand Java has gotten stronger and caught up a lot. There's now less incentive for Java developers to migrate. The only big switch has been Google and Android. Whilst others have moved - those are all Java first frameworks with Kotlin "support". This arguable relies on the developer to somewhat know Java.<p>For non-Java developers - Kotlin is as hard to get into as Java. You need Intellij (the Jetbrains IDE), to install the JVM and work out Gradle (in Kotlin it's recommended vs Maven). This enough can be a showstopper for some. There are a lot of layers and hurdles before you can even "Hello World". For the some crowd, there are those that are anti Java / JVM and hence won't adopt it.<p>Likely a lot more pain points...<p>I wanted to like Kotlin a lot more and do, but it's not all perfect.
Kotlin does not produce machine executables. Kotlin produces JVM bytecode and JVM languages have not caught the attention of HN folks very frequently. Clojure comes up from time to time but I am sure that's because it is a Lisp which is discussed favorably by HN folks.<p>Both Zig and Rust fill important gaps in the programming languages. If someone wants a better C, they look at Zig. Zig is simple like C. It has less concepts, good memory management story and protects the developer from shooting their foot.<p>If someone wants a better C++, they look at Rust. Rust is complex but has strong memory safety guarantees.<p>Both Zig and Rust are great alternatives for C and C++ both of which have been used extensively in the IT. What gap is Kotlin fulfilling? What is Kotlin doing so well that another language cannot do today?
You mean in comparison to Rust which is trending all the time? If we look back on comments for the last 30 days, Kotlin gets mentioned <i>a lot</i>,<p><a href="https://hn.algolia.com/?dateRange=pastMonth&page=0&prefix=true&query=Kotlin&sort=byPopularity&type=comment" rel="nofollow noreferrer">https://hn.algolia.com/?dateRange=pastMonth&page=0&prefix=tr...</a><p>I think the issue is as you say, Kotlin is limited to a specific domain mostly. And I would also say that perhaps most people working with Kotlin are doing it for specific companies and aren’t as popular as Rust which is being used to port everything to it.
Except for the syntax which is a bit better imo, there's very little reason to use Kotlin over Java. Also it's very slow to compile, it's unnerving.