Blog Post: Lifetime Parameters in Rust

I think its priorities. Rust has a clear goal to be used for OS, and embedded development, so that it can be used anywhere 'C' is currently used. On that basis it needs to have no runtime, and operate in as little memory as 'C. This has clearly directed the development. Rust is ideal for desktop applications, Operating systems, writing garbage collectors for other languages, and algorithms which do not parallelise well.

Go on the other hand is designed to scale over thousands (or even millions) of in-flight requests without taking a thread per connection with its associated memory cost. Go is great for web-services, and parallel performance where the algorithm is "ridiculously parallel".

Personally I am thinking of moving more development from C/C++/Ada/Haskell to Rust, and of moving Java, JavaScript, Python, Ruby development to Go.