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: Did you have second thoughts about Go from a business perspective?

8 pointsby rstoover 10 years ago
For a project I am working on, I have found Go (golang) to be an ideal match for my requirements from a technical perspective.<p>However, up until now I have been very conservative in my tool choices. I typically chose Python, Java or C. Long-term vision, stability and support are important to me.<p>I know that Go has found an active community and several well-funded companies are betting on it. What I cannot estimate is how well things would work out for Go, if Google withdrew its love.<p>I assume none of you has a magic crystal ball, but did you have similar thoughts when choosing Go? How did you rationalise your choice?<p>Thanks for your thoughts

7 comments

mechanical_fishover 10 years ago
What are you afraid of? Go is compiled. You have the compiler. You have the libraries. You have your code. You have perpetual licenses to run these things, and even to fork them. Construct yourself a solid build chain, the kind that works even when you unplug it from the network. Bundle it inside a virtual machine, and it&#x27;ll probably still be runnable in two decades.<p>The dependencies that you need to avoid are <i>runtime</i> dependencies, the kind that can disappear overnight. Does my deployment depend on Rubygems or NPM being up? Did I accidentally build in a hard requirement for Google App Engine? Did I use a licensed piece of software whose license could be withdrawn overnight? Is there only one person who can even read my fancy-pants source code, and might that person suddenly decide to become a guru and retire to a distant mountaintop with no cellular access?<p>But there&#x27;s no sense in fretting about what might happen on a five-to-ten-year timeframe. Face it: In ten years, the code you write today will look old. Using Java won&#x27;t save you. The fact that Android is based on Java doesn&#x27;t mean that ten-year-old Java apps support Android in any meaningful sense. Ten-year-old Objective C code is stale: It doesn&#x27;t support iOS, it doesn&#x27;t use new features of Mac OS. How do you even know which Python will be most popular in production in five years, Python 2 or Python 3?<p>Your code will evolve over the next <i>N</i> years, and if Go spontaneously implodes -- a very unlikely event at this point -- you&#x27;ll do what the Docker folks are going to do: Keep using it for months or years while you port it to whatever comes next.
评论 #8351271 未加载
tptacekover 10 years ago
I like Golang and have used it on two commercial projects.<p>I&#x27;ve also gotten to work with tens of companies that use Golang for things internally (we consult for software security).<p>My advice is: Golang is great, but use it like most established companies do: for smaller and&#x2F;or specialized backend components.<p>What I might <i>not</i> recommend is doing a soup-to-nuts SAAS application entirely in Golang. We use Rails as our frontend for Microcorruption.com, and Golang to do the heavy lifting of emulating thousands of microcontrollers.<p>Sticking with something convention for your front-end solves a couple problems:<p>* Golang&#x27;s front-end capabilities aren&#x27;t as mature as Ruby&#x27;s and Python&#x27;s. You can find yourself fighting the libraries a bit. In particular: you&#x27;ll end up writing a lot of boilerplate database code.<p>* There is a much broader base of talent for building Rails and Python than there is for Golang. And: most teams have people that specialize on front-end and (a usually smaller) group of people that do the hard-core backend stuff.<p>* Backend components are usually architecturally hidden, which should give you some peace of mind about ever needing to replace those Golang components --- you might never need to do it if you draw the right boxes and arrows, and if you do, at least you&#x27;ll be replacing a well-defined component.
robdoherty2over 10 years ago
I know of several startups in NYC using Go to great effect; bitly&#x27;s nsq comes to mind: <a href="https://github.com/bitly/nsq" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bitly&#x2F;nsq</a><p>The NY Times open sourced a very cool tool &quot;streamtools&quot; that was built in Go: <a href="https://source.opennews.org/en-US/articles/introducing-streamtools/" rel="nofollow">https:&#x2F;&#x2F;source.opennews.org&#x2F;en-US&#x2F;articles&#x2F;introducing-strea...</a><p>Your question also reminds me of an interesting talk I saw at RICON: <a href="https://speakerdeck.com/al3x/nobody-ever-got-fired-for-picking-java" rel="nofollow">https:&#x2F;&#x2F;speakerdeck.com&#x2F;al3x&#x2F;nobody-ever-got-fired-for-picki...</a>
评论 #8350208 未加载
bulte-rsover 10 years ago
Started out with a small project; even a rewrite in a different language would not matter that much (a 40 hrs writeoff or something).<p>As long as it increases developer happiness; I&#x27;m game with whatever language. :D
codeonfireover 10 years ago
I don&#x27;t see how any business except Google could rationalize using it. Maybe if a company hopes to someday be acquired by Google they might use it to impress some Google execs. Even if it could rapidly evolve, which it probably wont being an ivory tower project, Google won&#x27;t put the same resources behind it that Microsoft did with visual studio, .net, and c#. It will become what Objective c is to developers, an annoying language they occasionally have to deal with.
评论 #8350410 未加载
auganovover 10 years ago
What are you gonna use it for? Go seems to have a strong foothold in cloud-related projects (i.e. Docker, Flynn, many parts of CoreOS). So if you&#x27;re in the same niche it&#x27;s probably an okay choice even if only for community reasons. But if you&#x27;re doing something app-level you&#x27;re probably taking a big risk.
评论 #8350247 未加载
blooberrover 10 years ago
Here&#x27;s how I did it and it&#x27;ll sound like a geico commerical:<p>I saved about $1000 a month switching from Ruby to Go by refactoring a backend system. I was able to clearly demonstrate the reduction in resources and the switch was seamless.<p>Hard to argue against that.