Oh no, not another ‘Is Rust better than Go?’ article. Seriously, haven’t we all had our fill of these comparisons by now? But before you sigh in exasperation, hear us out!
However, don’t underestimate the long-term benefits of Rust
I think the author is underestimating the long term issues with Rust. Its already the case the language and ecosystem is so much in flux that code that’s been written today has been made obsolete by a language feature in the latest nightly build. Rust is risking of going the C++ way: have some many freatures bolted on that even as an experienced developer, you can checkout a random project on Github and discover a new language feature. That is not a good situation for projects that require longevity, especially in a professional setting. When working on software in a professional setting, you will often have cases where you revisit code bases that you have not touched for half a year. You will have a hard enough time to stitch your thoughts on how your business cases worked back together. You really don’t need syntax patterns that you haven’t seen in half a year to get on your way.
Using Rust for projects with a long lifespan requires something from developers that we are especially bad at: the ability to be disciplined when presented with new, shiny things. Go on the other hand has this by design, which makes it admittedly boring but also relieves you of such burdens so you can focus more on getting things done.
code that’s been written today has been made obsolete by a language feature in the latest nightly build
I mean couldnt you say that about any language? There’s lots of old C code that’s obsoleted by features in C11. There’s lots of stuff written in python today that’s obsoleted by stuff in the 3.13 alpha. It’s just kinda how things go.
Doesnt the edition system prevent this from being too big of an issue anyway?
I mean couldnt you say that about any language?
Looks at a standardised language like common lisp
The language itself has been locked for decades, but you’ve got libraries and compiler instructions that add features like OOP, strict typing, async, etc.
Long live the macro!
There’s lots of stuff written in python today that’s obsoleted by stuff in the 3.13 alpha
Didn’t rust base a lot of its marketing on the promise that there will never be a rust 2, and that all code will be backwards compatible?