7 ms·
> Go is bad so "I reach for Rust, Zig..." I hope my every competitor will take your advice to heart, as one of our competitors did when they read that "Go is n
by HAL3000 2mo ago
> Go is bad so "I reach for Rust, Zig..."
I hope my every competitor will take your advice to heart, as one of our competitors did when they read that "Go is not a memory safe language", so they wrote a blog about how they are porting to Rust. While our team was moving fast and using those "primitives that should almost never be used" around our long running production code base with success.
Some time has passed and now their company does not exist anymore and we have a lot of their clients.
Thank you!
- za3faran 2mo agoWhat domain is your company in?
- sunrunner 2mo agoPerhaps that company failed because it chose to port things to Rust and not because of Rust itself? Or any other number of reasons that survivorship bias might be mistaking.
- yawaramin 2mo agoLol, so Rust is perfect until you actually try to do something with it.
- sunrunner 2mo agoI emphasised too much in that comment perhaps. I was going for because it chose to port things, meaning that maybe that company wasted time working on porting things instead of working on things needed to survive.
- xvedejas 2mo agoWhere would one ever read that Go is not memory safe? That's just a false claim, and anyone believing it would have probably gone out of business regardless of choice of programming language.
- pstuart 2mo agoMy ex-boss was a JS guy and then moved over to Rust. He loathed Go because it has pointers and it's possible to use a nil pointer if you are not competent. JS is fine for what and where it is, Rust is fine too. I just appreciate the stupid simple nature of Go and it does the job just fine.
- ReactiveJelly 2mo agoIt looks like Go is memory safe for single threads and channels, but not for shared memory between threads: https://en.wikipedia.org/wiki/Go_(programming_language)#Lack_of_data_race_safety https://en.wikipedia.org/wiki/Go_(programming_language)#Lack... > Go's internal data structures like interface values, slice headers, hash tables, and string headers are not immune to data races, so type and memory safety can be violated in multithreaded programs that modify shared instances of those types without synchronization.[113][114]
- gpm 2mo agoBy a strict definition of memory safety it isn't - you can tear two-pointer-wide values using data races and cause arbitrary memory issues if you try to using only normal code. It's close enough for most purposes... but it isn't.
- fulafel 2mo agoNobody serious claims Go is fully memory safe. Here's Russ Cox telling you concurrency is a hole in the memory safety: https://research.swtch.com/gorace https://research.swtch.com/gorace
- deleted 2mo ago[deleted]
- deleted 2mo ago[deleted]