diff options
Diffstat (limited to 'drafts/its-not-rust-vs-go.php')
-rw-r--r-- | drafts/its-not-rust-vs-go.php | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/drafts/its-not-rust-vs-go.php b/drafts/its-not-rust-vs-go.php new file mode 100644 index 0000000..c9273ff --- /dev/null +++ b/drafts/its-not-rust-vs-go.php @@ -0,0 +1,150 @@ +<h1>"Rust or Go?" is not the question</h1> +<h1>Part 2: (But Rust is definitely the answer)</h1> +<h1>Part 3: Rust is definitely production ready</h1> +-> part 2 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> +<a + href="https://insights.dice.com/2020/08/27/rust-in-trouble-after-big-mozilla-layoffs/" + >Is Rust in Trouble After Big Mozilla Layoffs?</a +> +<a href="https://foundation.rust-lang.org/posts/2021-02-08-hello-world/" + >Hello World! (Rust Foundation)</a +> + +<a href="https://killedbygoogle.com/"> Killed by Google</a> + +<a href="https://dart.dev/overview">The Dart Programming Language</a> + +<a + href="https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f?gi=c8caad873419" + >Discord swapped Go for Rust</a +> + +<blockquote> + Both Microsoft and Amazon have just recently announced and released their new + officially supported Rust libraries for interacting with Windows and AWS. + Official first party support for these massive APIs helps make Rust people's + first choice when deciding what to use for their project. +</blockquote> +<a href="https://blog.rust-lang.org/2021/05/15/six-years-of-rust.html" + >Source</a +> + +<a href="https://hub.packtpub.com/is-dart-programming-dead-already/" + >Dart -- apples to oranges? I'm not trying to say that go is going the way of + dart, I'm trying to say that industry-leading companies aren't always stewards + of their creations. take FreeBSD. It's a thriving, excellent operating system + capable of "industry-leading company" usage. See the usuals (Netflix, Sony, + etc). Look at the FreeBSD foundation. Now look at RedHat and IBM. Again, + apples to oranges? No, just a bad argument to make in the first place.</a +> + +<p>quotables</p> + +<blockquote> + Take a look Go as well. I think you will find Go much faster to program in. + The other aspect is threading. They have very different threading models. Not + sure if you had the chance to research that yet or not +</blockquote> +<blockquote> + Yes, a big thing is threading. Unfortunately, Rust uses a similar model as + Java for threads :(. Go is based on Fibers approach which so much faster for + temporary, lightweight requests. Go is definitely superior for HTTP REST API + apps. Rust can be better for a single-thread app or general "systems" + programming. +</blockquote> + +<p> + Rust is not a "systems programming" language. Systems programming is not a + genre of languages. It's not like saying Italian is a "Romantic language". + Systems programming is a specific, targeted programming *application*. It's + the destination, the use-case that a language is being applied to. Rust is a + general-purpose programming language. I have used it to write a variety of + tools, low- and high-level, server-side and client-side, graphical and CLI. + Yes, I used it for some systems programming. Also used it to make a very + simple and robust web service digested by a variety of other developers at our + company. +</p> + +<blockquote> + The only way is to learn and try both. That's what I did. Most of the info + from both sides is biased...Go is definitely very fast and [garbage + collection] is not the issue people make it out to be. I started last month + porting [a chess] engine to Rust. I recently took a break from it because the + syntax and borrow checking were getting insane to deal with. Once I learned + about the threading issues in Rust, I have put it on the shelf for now. Rust + is still evolving which is good and bad. It needs better IDE and Debugging + support than current levels. Hopefully that will continue to improve. There + was a big Mozilla shakeup (Nov 2020) where they let go of the Rust developers + and cancelled the project. AWS hired them. So honestly, I am not sure which + direction the language is going in. Meaning, now that AWS owns the braintrust, + I don't know where they are headed. My guess is that AWS is using Rust for + some behind the scenes script-like stuff. Not sure. Will be important in the + next year or two on which direction things end up going. For Rust to benefit + long-term, it needs the support of a corporate backer +</blockquote> + +<p>Rust is absolutely ready for production use.</p> +<p> + Anti-Rust zealotry is just as strong as pro-Rust zealotry. The hype goes both + ways. No, your talking points shouldn't come from Reddit. +</p> |