4 ms·
I would be interested in reading about the pragmatism behind Rust's design. Go was designed to specifically address many pragmatic issues at Google, such as sl
by Ferret7446 3y ago
I would be interested in reading about the pragmatism behind Rust's design.
Go was designed to specifically address many pragmatic issues at Google, such as slow compile times, engineer ramp up time, language complexity causing hard to understand code, ease of writing automated tooling, and more.
https://go.dev/talks/2012/splash.article https://go.dev/talks/2012/splash.article
- pydry 3y agoRust was dogfooded essentially as a replacement for C++ with better thread, memory and type safety and was designed to swap out C++ in firefox with a view to eliminating whole classes of bugs. Golang may be the perfect language internally at google for all i know but where it substitutes for python Id rather use python and where it substitutes for rust Id rather use rust. Ive been serially unimpressed with some of the design decisions, including the initial reluctance to do package management properly, the lack of exceptions and how long it took to get generics. After trying to write golang i always seem to write equivalent code with 30% more SLOC as a result of some decisions that seem more idealistic than pragmatic. (im also a pretty firm believer that SLOC correlates to bugs, so i view 30% longer code, all other things being equal = 30% more bugs)
- t8sr 3y agoI’ve seen it replace Python and Java. In both cases, Go was a massive win from a readability and operational predictability POV. Of course I’m not talking about data science Python, which is hard to displace, but “microservices Python”, which I still have nightmares about. I’ve not seen it replace C++ so much - that’s Rust’s job. But a SWE with 2 years of on the job experience shouldn’t be writing C++ or Rust, they should be writing Go or something equally hard to mess up. (Rust might be safe, but it gives you enough power to write truly unreadable code, just like C++ does.) The two languages are in different niches, and I am curious why they get compared so much. I write Rust and Go, and for the stuff I work on, they almost never overlap.