It&#x27;s unfortunate that they&#x27;re often talked about as comparable things (as Go vs Rust) because they&#x27;re totally fundamentally different languages, including what spaces they target.<p>I think part of this is due to Google initially trying to position Go as a systems programming language and sorta like an easier C.<p>In reality, Go is so far distant from C or C++ that it would be better to describe it as Java related honestly.<p>The real question is what do you want to <i>do</i> or why do you want to <i>learn</i>.<p>Do you want:<p>* Something where you can quickly produce working code<p>* Something with a large, complex, and questionable quality ecosystem (as ruby&#x2F;python have, but a smaller scale)<p>* Something that&#x27;s pragmatic, but not elegant<p>* Something that&#x27;s well suited for writing a webserver, cli tools, or daemon<p>* An ecosystem of people who do not like complicated languages and rarely talk about complex language-theory concept<p>* Something that fills a similar role to python, ruby, java<p>* Something that has a massive foothold in the docker&#x2F;container ecosystem<p>* A language driven by a semi-opaque &quot;open source&quot; process with a big company and closed doors at times<p>* Really easy to use concurrency (but also easy to shoot yourself with)<p>* Nice editor integration, autocompletion, etc.<p>Well, Go wouldn&#x27;t be bad to learn<p>Do you want:<p>* Something where you&#x27;ll actually learn new concepts, ideas, and be challenged in some ways<p>* A fledgeling library ecosystem where the libs that exist are decent quality, but most just don&#x27;t exist<p>* Lots of opportunities to contribute<p>* A community-driven project where your opinion can make real changes happen<p>* A powerful macro system<p>* Actual type safety! With real algebraic types!<p>* No GC pauses<p>* Elegant error handling and abstraction powers<p>* Something it&#x27;s hard to write working code in, but once it compiles it&#x27;s probably pretty good<p>* Something great for writing an OS or low level tools in, and mediocre for webserver, cli, etc currently<p>* Something to replace C++, possibly D, possibly ocaml<p>* A language that is technically an ML but doesn&#x27;t feel like one<p>* A super-smart community willing to talk about some of the coolest topics in language design and CS<p>Rust could fit for you<p>Grain of salt, I write lots of Go and am working on getting to know rust better still.<p>To all the people saying &quot;Go is used professionally, rust isn&#x27;t, don&#x27;t learn rust from career perspective&quot;... there&#x27;s another axis!<p>You also have to consider what skills you&#x27;ll pick up with each. Learning Rust will improve your ability to write safe C++ and help you reason about some types of problems in all other languages, so even though rust itself isn&#x27;t directly marketable, the skills you get will be helpful regardless.<p>Learning Go will help you reason about actors a little and some problems in other languages, but not nearly as many and, frankly, the community for Rust will teach you a lot more about everything.