At this point, I feel that there's enough momentum and a big enough backer behind Go that I have very little doubt that it will still be a going concern in 5 years.<p>Rust is more questionable, after all they haven't reached 1.0 yet. But I'm cheering for them -- IMO, they're the more interesting language and I like the choices they made.
Both. They are not really competitors. They ship robust and modern approach to concurrency, which is insanely demanded these days, and is probably the only reason why they are constantly mentioned together. But they are quite different otherwise.<p>Go puts programmer productivity on top, thus fast compilation, "zero-thinking" memory management (thus global GC). They want the best from both fast but hard C++ and elegant but slow Python.<p>Rust aims at low level, close to hardware, as fast as possible programs, thus fine tuning for memory management (arenas, isolated GCs, choice between GC and non-gc allocation), thus disallowance of implicit copying even at cost of making language a bit harder etc. They want to fix memory unsafety and bad concurrency problems of C and C++ while keeping all the perks which are the reasons why those languages are still used for new software.<p>I imagine the choice will be like between C++11 and Java today: one's a bit faster and less memory greedy, the other's a bit easier, and each will have niches where the other is strongly unwanted.
Both, given that programming languages shouldn't be a horse race. They're different languages that fit differing niches: both address concurrency and parallelism at the language level, yes, but at least from my perspective, Rust is oriented towards systems programming (task-level GC, lower level memory access, and strong static safety guarantees), while Go is for rapid network service development.
Some people might tell you Go is the one, and if enough people believe that it might become a self fulfilling prophecy.<p>I personally am very interested in Go and I think it's a great choice for all my future projects.<p>Will Go become popular after 5 years? I honestly don't know, but I think it's a great tool and I want to use it. And honestly, I'd be weary of a language/platform if its popularity was based primarily on hype (for example, node.js) rather than usefulness.<p>Also, there's no reason that only one of Rust or Go can become popular. They could both become popular, just like Ruby and Python are both popular these days.
Which is more general purpose? By this I mean to ask that, which language touches more domains?
For Example - Today i write kernel.
Tommorow I write a gui app. The next day, a web backend, the very next day, a self aware neural type of thing. Which one single language suites me?
When I google for comparison, I get this as a top result.<p><a href="http://stackoverflow.com/questions/9339560/erlang-versus-go-versus-rust-comparison" rel="nofollow">http://stackoverflow.com/questions/9339560/erlang-versus-go-...</a>
First one who gets a Rails-like showcase application. If that doesn't happen, both will get some action, but more on an Erlang/D level than Ruby/Python.
As a PL guy, I can say: both. Despite both calling themselves "systems programming languages", they serve completely different niches. Go is for web-services/web-apps development; Rust is for truer systems software (if they keep GC optional it could even be used for kernel development).