Why Not Rust? (2020)
There&#x27;s a statement that Rust is a systems programming language, but that in most cases one doesn&#x27;t need this, and that Go or Kotlin are thus in most cases better alternatives.<p>This image of Rust as lower level than Go isn&#x27;t one I agree with, but I can certainly see how people end up there. Go has it&#x27;s garbage collector and userspace threading model, one gives up a lot of control to a runtime that you don&#x27;t have to in Rust.<p>But as the author mentions if we&#x27;re after good enough speed these details aren&#x27;t important. So I don&#x27;t most of the time care if there&#x27;s a GC or not.<p>What I care about is the code I have to write, and Rust IMHO offers me nicer abstractions and more features.<p>The Go world in their desire for simplicity, use a for loop for everything, but in Rust we have the excellent iterator trait. The Go world offers me product types, the Rust world offers product and sum types. The Go world offers some mechanisms for codegen, but it is a far cry from Rust&#x27;s macros.<p>Go I consider a modernized C, that is notable more for what you can&#x27;t do than what you can, and how fast it can be learned - owing to a minimal and already familiar feature set.<p>I confess that I have a bit of a chip on my shoulder, I have for the last few years been working as a Go developer and in the last few months it&#x27;s started really started to grate me how much work things are. I really miss things like &#x27;#[derive(...)]&#x27;.