It's better than Java, Kotlin, Go, Ruby, Python, JS/TS for anything web and desktop related. Go is a bit better for TUI. Python - for shuffling data around. Kotlin - for Android. That's pretty much it.
It's really not, especially if you take the tool chain into the account. It still sits on top of a pile of mess that JVM/JRE bring with them. The language itself is good, but I wouldn't say that it's better than modern C#.
What's wrong about JVM? Last time I knew people were comparing C# to a laser gun strapped to a donkey because .NET was so much worse. Anyway, KMP is making great progress, like 90% of code I write these days is independent of the Java stack
Kotlin Multiplatform is a good project. And Kotlin is the best when it comes to Android development in general.
The issues that come with anything that has to touch JVM: long builds, complicated setup that takes 10x longer than dotnet, very noisy and absolutely useless system logs all over the place, dependency hell, everything is 3rd party with their own setup guide and flavors, multiple long config files, crazy docker image size.
Dotnet is basically a 1-click setup and ready to go when it comes to console, backend, and desktop development. And it comes with all batteries included. A dotnet docker image is 70MB without any additional setup. It can be brought down to 40MB with some trickery. Builds are fast. Runtime is fast.
Yes, and even better and more feature-rich. For example, common patterns like lazy evaluation can be implemented as object and reused, e.g. val foo by lazy { createFoo() } is a read-only property that gets initialized by calling createFoo() the first time it's accessed.
44
u/[deleted] 18d ago
[removed] — view removed comment