Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

3
  • As I expected, Rust is more powerful and offers more choice natively/elegantly, but Go's system is close enough that most things it misses can be accomplished with small hacks like interface{}. While Rust seems technically superior, I still think the criticism of Go... has been a bit too harsh. The power of the programmer is pretty much on par for 99% of tasks. Commented Jul 10, 2014 at 7:43
  • 28
    @Logan, for the low-level/high-performance domains Rust is aiming for (e.g. operating systems, web browsers... the core "systems" programming stuff), not having the option of static dispatch (and performance it gives/optimisation it allows) is unacceptable. It is one of the reasons that Go isn't as suitable as Rust for those sort of applications. In any case, the power of the programmer isn't really on par, you lose (compile time) type safety for any reusable and non-built-in data structure, falling back to runtime type assertions. Commented Jul 10, 2014 at 13:00
  • 13
    That's exactly right--Rust offers you a lot more power. I think of Rust as a safe C++, and Go as a fast Python (or a vastly simplified Java). For the large percentage of tasks where developer productivity matters most (and things like runtimes and garbage collection aren't problematic), choose Go (e.g., web servers, concurrent systems, command line utilities, user applications, etc). If you need every last bit of performance (and developer productivity be damned), choose Rust (e.g., browsers, operating systems, resource-constrained embedded systems). Commented Mar 3, 2015 at 4:41