blob: 8b3d6fcb5053298e8d10bd66c2d1d5cd2abe50b3 (
plain) (
tree)
|
|
<h1>It's Not Rust VS Go</h1>
include coworker conversation tidbits draft notes:
<ul>
<li>These are two very different languages</li>
<li>These two languages are solving two very different problems</li>
<li>
What attracted me to Rust is the error handling and borrow checker. You
don't need a runtime and you don't need to worry about a variety of memory
pitfalls.
</li>
<li>
Rust is not just a systems-level language, and Go is not just a server-side
language.
</li>
<li>Rust isn't *really* about speed or performance. It's about safety.</li>
<li>Rust is just plainly a more powerful language.</li>
<li>
Go is for Python developers who need speed. Rust is for C++ developers who
need safety.
</li>
<li>
Rust has opt-in concurrent runtimes and opt-in garbage collection. These are
standard in Go, there's no getting out of them.
</li>
</ul>
<p>
Go has great concurrency. Goroutines are high-performance, parallel green
threads. Rust's concurrency is provably-correct.
</p>
<p>
Why is the immediate question when someone says they wrote something in Go,
"why not rust?". The inverse is true. When I tell a dev I wrote something in
Rust, the immediate response is "you should have used Go, it's better." This
is false.
</p>
<p>
What does suck about Rust? The compiler is slow. It will probably always be a
degree of magnitude slower than another compiler for a similar target.
</p>
<p>
It's not Rust VS Go, it's when to use Rust and when to use Go. And the number
one argument I get for why Go should be used is it's simpler and faster to
learn and work with. There's the answer! The answer is use whichever one works
best for you. There's no better or worse, or superiority. Redditors will say
otherwise.
</p>
<p>sources</p>
<p>
Go vs Rust discussions are ridiculous. It should be more like: When to use Go.
When to use Rust. When to use X… — Inanc Gumus (@inancgumus) September 19,
2019
<a
href="https://twitter.com/inancgumus/status/1174728131925676032?ref_src=twsrc%5Etfw"
>source</a
>
</p>
|