Kotlin/Native vs Rust

My experience with rust was very bad

  1. tooling is garbage… working with rust with intellij is pain, vscode is not much better, every time i make a smallest change it will trigger cargo build under the hood and after 5-6 seconds idea will have info on what you changed

  2. it forces you to do things one way and one way only

  3. panic is idiotic idea, when did you last time thing that your program did the right thing by goind down just because some junior wrote some wrong function. Most programs are big services that respond to things last thing you want is for it to stop responding even if its stupid internal error… panic is ok for small tools you use in terminal like, you invoke them with a command and if you did something stupid it dies asap without doing anything else, you get non zero error code… thats not what we do in big software… this is like using bash to write a full http server with business logic… panic is idiotic idea

  4. its memory management forces you to clone structs all the time, its interesting idea and its the only thing that i find cool about rust, but its not worth it, forcing you to clone structs all the time making code less and less readable (not worth it)

  5. forces you to write huge functions if you need to work on piece of struct in one function and the rest on other function you either clone it for one or you put bunch of code in one big function… both are very bad, one is unnecessary memory copy other is garbage code. Also how often are you having memory leaks in java? its been 8 years since i had one, is it worth to cripple my code for that?

  6. there is nothing that rust does that you cant do with kotlin, you like to handle all your errors by passing it as response no one stops you from doing that, rust forces you to do it this way kotlin doesn’t but there are plenty of things i can do in kotlin that will look like garbage in rust… try to do something similar to coroutine state machines with rust you will write pages of garbage to do it…

  7. display and debug is idiotic idea again, your compilers job is not to babysit you so that you don’t accidentally log something sensitive in the logs, its your common sense and skill as a programmer, rust just gets on your way all the time, so they decided its a good idea to trade off intuitiveness of the language for some non problem…

overall imo its very overrated and its matter of time till people ditch it for go or rewrite in some other language, people go for it because of performance but its all about you writing smart performant code not the language… to me if your reason to use rust is performance then you are a bad programmer that doesn’t know how to do performance/latency and language is not going to fix it for you

my company tried rust cos spring apps were loading for a minute, instead of getting rid of spring they tried something else now we will probably end up rewriting this from scratch

its very opinionated language, authors decided for me how i’m supposed to write code and while that might be ok for noobs, its a huge negative for me, i want to have the option to use whatever i need to use, maybe i don’t want to return Option on every goddamn function…

also no one, NO ONE cares how fast your app starts, what matters is how fast it works when its warmed up and ready, there is nothing you can do in rust to be faster that cant be done on JVM

Regarding kotlin native i have tried it, its kotlin not much different from it but its definitely not ready for masses, however jetbrains knows how to do tooling i have no doubt that after short while working with native is going to be as easy as java/kotlin

by vach