TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Is Go or Rust a more viable language to learn in 2017?

7 pointsby harrylucasover 8 years ago
I have a read a heap of articles outlining inherent problems with Golang (https:&#x2F;&#x2F;github.com&#x2F;ksimka&#x2F;go-is-not-good), but the problem is you can find people complaining about every language if you type the right thing in google.<p>What I am confused about is that if it has all these problems, how come it has risen to one of the most popular languages (http:&#x2F;&#x2F;www.tiobe.com&#x2F;tiobe-index&#x2F;) jumping 34 positions since 2015.<p>Rust on the other hand was voted the most beloved language http:&#x2F;&#x2F;stackoverflow.com&#x2F;research&#x2F;developer-survey-2016#technology-most-loved-dreaded-and-wanted . And everyone seems to be saying it&#x27;s much better then go.<p>Now obviously they aren&#x27;t the same language and will be used for the same things, however from my understanding, they CAN be used to achieve similar things.<p>So basically, if I wanted to build tools&#x2F;optimizations for web applications (not the whole application it&#x27;s self) e.g. microservices, custom parsing libraries etc, which one would be best going forward?<p>Taking into account:<p>1. Community (e.g. available packages, friendliness)<p>2. Growth (e.g. how much either is growing)<p>3. Future outlook (e.g. bust out your crystal balls)<p>4. Productivity<p>5. Developer happiness (e.g. who wants to be miserable)

4 comments

kjksfover 8 years ago
Given your criteria Go wins easily although HN is a little bit of echo chamber of Rust enthusiasts and Go haters, so you want necessarily get balanced opinion here.<p>Here&#x27;s how Go stacks up compared to Rust on axis that I consider important.<p>1. Jobs: plenty of jobs in Go (and growing rapidly), almost no jobs with Rust. For example, on <a href="https:&#x2F;&#x2F;angel.co" rel="nofollow">https:&#x2F;&#x2F;angel.co</a>, there are 67 companies in California with Go jobs (60 with &quot;Golang&quot; skill filter and 7 with &quot;Go&quot; skill filter) and 0 with Rust jobs. Every month in &quot;Who&#x27;s hiring&quot; thread on HN the same thing: a fair amount of Go jobs, next to nothing of Rust jobs.<p>I predict number of Go jobs will be growing quickly for some time to come.<p>2. Go: easy to learn. Rust: hard to learn.<p>3. Go: GC makes memory management easy. Rust: manual memory management and rust-specific for even bigger barrier to entry.<p>4. Go: fast to compile. Rust: slow to compile. That contributes to programmer productivity.<p>5. Go: both language and fundamental libraries (networking, concurrency, json, xml, databases etc.) are mature and stable.<p>Rust: language is still evolving. Ecosystem of fundamental libraries is sometimes lacking important stuff, has too many options (which of 3 json libraries should I use) or options are still not mature.<p>6. Go: large and growing list of tools, both shipped as part of Go and made by community (debuggers, memory and cpu profilers, race detector, runtime tracing for debugging multi-threading).<p>Rust: not so much.<p>7. Go: a large number of important code-bases are written in Go, proving that it&#x27;s suitable for large scale software (docker, kubernetes, prometheus, influxdb, tidb, cockroachdb - those are from memory.<p>Rust: mozilla is dabbling with using Rust for FireFox but I don&#x27;t know any large project that went full Rust.<p>8. Go: used by tens of companies you&#x27;ve heard about (<a href="https:&#x2F;&#x2F;quicknotes.io&#x2F;n&#x2F;1XB0" rel="nofollow">https:&#x2F;&#x2F;quicknotes.io&#x2F;n&#x2F;1XB0</a>).<p>Rust: the equivalent list for rust will be at least 10x smaller.<p>At the end of the day proof is in the pudding.<p>Go is easily winning by pretty much any metric that is not based on opinion. Language X is better than Y is an opinion. Language X has more jobs, more libraries, compiles faster, is used by more companies etc. is not an opinion, it is the pudding.
评论 #13157404 未加载
评论 #13161231 未加载
评论 #13155490 未加载
wtetznerover 8 years ago
If you need the kinds of things Rust can provide, then it&#x27;s a very good choice.<p>However, if you decide Go fits your needs better, in the sense that you want a garbage collected language, then I can&#x27;t think of any reason to use Go over plenty of better options.
baccheionover 8 years ago
If you are trying to make a decision for &quot;from scratch&quot; usage (rather than to find a job), then I&#x27;d go with Rust. The main problem is its potentially steep learning curve, which could easily mean not many developers can pick it up.
fbreducover 8 years ago
I would say rust, but in 2016 other than operating systems and maybe a few other select areas i dont really want to do manual memory management, GC me baby. I would say go but I don&#x27;t really want to use a language that leaves about everything else good out even though it has a GC.