Rust is what C++ programmers made to replace C

Go is what C programmers made to replace C

Note: this isn't just an analogy, this is actually true

Rust was made by Mozilla, whose flagship product is written in C++

Go was made by the plan9 alumni, whose flagship product was written in C

Also the difference in quality between Firefox and plan9 is revealing in and of itself

@sir I'm not informed enough to tell about the quality of both. And I kind of want to play with #Go too. But it still isn't clear for me what are it's "killing features" that distinguish it from the other languages/platforms, there must be some.

@amiloradovsky @sir My background is ANSI C (~15 years), read a few books on Scheme and Common Lisp and Erlang and later Elixir as well as an intro in lambda-calculus (in ML). I had to learn Go last year but current project is in Rust. I'd say wait for Go to get to 2.0 (I jokingly say "wait for an ANSI standard") as it's not as awesome as it could be -- but a decent python replacement. Rust has ML influence and is a *very* fast moving target. Last awesome stable feature is NLL.


@amiloradovsky @sir One big difference that reviewers often leave out but is an important thing for system programmers: Go doesn't use libc (it essentially reimplements it) and calls syscalls directly, while Rust prefers dynamic linking.

Thread model is different as well: Go uses it's own scheduler which results in a M:N model, while Rust moved on to 1:1 (rust thread is created via pthread_create). Most UNIX kernels follow 1:1 model which makes Rust 1:1:1 if you will and Go's M:N:N.

Sign in to participate in the conversation

Exclusive or something