5 ms·
I'd say that Go is a better "better C" than Rust, for already functional C programmers. The syntax of Go is as removed from C as Rust's, and it's more mature.
by ivoras 11y ago
I'd say that Go is a better "better C" than Rust, for already functional C programmers. The syntax of Go is as removed from C as Rust's, and it's more mature.
TBH, Rust looks a bit stillborn - too weird to live, too rare to die.
- steveklabnik 11y agoThis is also why it matters to know what you mean by C: to me, a key aspect of C is the manual memory management and lack of a runtime. A C that adds GC is no longer C.
- MichaelGG 11y agoPeople say this. I looked into Go, to write modules for VoIP platforms. Go is a managed runtime environment. I can't drop it in where I'm currently using C. I can't easily start migrating pieces of a program to Go. But Rust does execute exactly where C can. In fact, I don't see how Go is C like at all. It seems much more akin to other managed languages, like Java. The only reason it seems to come up in these discussions is that Google said it was for "systems" programming, using a new value of "systems". Maybe you're referring to mindsets and syntax or something?
- loudmax 11y agoI strongly disagree with this assessment. Go may be a better Java or Python, but as a GC'd language it's not in the same league as C or C++ or Rust. I also happen to prefer Go's syntax to Rust's, but I can live with GC'd performance. If I were writing something as performance critical as a browser rendering engine, I could get past the weird syntax. I think both Go and Rust have bright futures.
- dragonwriter 11y agoGo is more mature than Rust, and to the extent that they have similar advantages (which I don't think is very much) Go's first-mover advantage may help it. OTOH, Rust is maturing quite well, and I think it has broader applicability and a very different area that is its strongest point that is the case for Go, so I think that its quite likely to do well initially in places where Go isn't much of a competitor, and in the long run may well be more successful than Go. (Particularly, its focus seems to be aimed at lower-level system programming than Go's, but a the same time it has constructs that, once good low-level libraries are in place, seem to make it potentially quite good for higher-level programming as well.)
- baq 11y agocomparing go to c is like comparing python to c - those langauges are designed for different purposes. if you're happily delivering web services with go, stay with go, rust probably is not for you. if you OTOH don't want a GC or want to write a dll that you can then call via FFI from go/python/ruby, rust is the way to go, as is C or C++ (pretty much the only other choices available).
- pekk 11y agoGo isn't designed for the same purposes as Python or Ruby, either. It's statically typed and far less expressive.
- baq 11y agoindeed there are critical differences regarding certain details like compilation to executables, compile-time time checking, etc. this doesn't mean the purpose can't be the same. it certainly is for many people (developing web sites).
- deleted 11y ago[deleted]
- pcwalton 11y agoDo you have specific reasons why Go is a better "better C" than Rust?
- nnethercote 11y ago> too weird to live, too rare to die. I disagree with "too weird to live" but at least it makes sense. What does "too rare to die" mean?
- AprilArcus 11y agohttps://www.youtube.com/watch?v=B4c78PZRsHs https://www.youtube.com/watch?v=B4c78PZRsHs