4 ms·
Right from the article: > When I initially wrote down my reactions to Go, I didn’t know about another new systems language: Rust. But maybe I'm misreading (ho
by MichaelGG 11y ago
Right from the article:
> When I initially wrote down my reactions to Go, I didn’t know about another new systems language: Rust.
But maybe I'm misreading (honestly).
Still they end up getting compared an awfully lot, more than they're compared to closer languages. At any rate, yeah, I find it very weird that the languages are compared. There seems to be very little overlap in when you'd want to use them.
If you aren't bound by C-linkage or zero-runtime/overhead requirements, then there are higher level, more flexible languages to use than Rust. If you do have those requirements, Go simply isn't an option. (This is a bit simplistic but is generally correct.)
Edit: I see you're taking an overly literal interpretation of "only". You're right. Anyone can compare anything for any reason. I think the intent of my comment is clear enough.
- burntsushi 11y agoYour reasoning is not just a bit simplistic, it's overly reductive. Just because I'm not bound by C-linkage or zero-runtime/overheard requirements doesn't mean Rust isn't a good choice. Similarly, even if I do need to link to a C library, that doesn't mean Go is a bad choice. > There seems to be very little overlap in when you'd want to use them. If all you're going to do is consider each respective language's wheelhouses, then I might agree that there is little overlap (at least, currently). But in my experience, there are often plenty of other reasons in play that influence language choice. I once chose a language (not Rust/Go) purely because of how popular/accessible it was. There was no technical merit there, but because of that choice, the project has gotten very popular and used by a lot of people. At work, a few months ago, we had an internal debate over whether to use Rust or Go for a new project. There's plenty of overlap. Not every problem has a workable solution governed by uncompromisable requirements that uniquely identify a language, so one invariably winds up adopting other criteria for choosing a language. These criteria may not be uniquely technical; they may be social or even emotional. I contend that nothing I've said here is controversial. My goal is to encourage others to broaden their horizons; we don't need to put our blinders on and snub our noses at people that do things differently. (Which is absolutely how I perceived your comments in this thread.)
- MichaelGG 11y agoWhile I don't mean to snub anyone, it's sorta like C++ - most would not use it if there was a better option (C compat, little runtime/overhead). Go cannot (AFAIK) be used when you need C compat (i.e., I can't write a C-compatible plugin in it, whereas with Rust I can). I'd contend that "GC or not GC" is _probably_ a rather large requirement. Rust is nice enough that some may use it when they don't really need it. But fair enough, if my comment came off snubbish, my fault.