5 ms·
Go noob here Can actual products (Web apps in my case) be built with Go?
by ameen 13y ago
Go noob here
Can actual products (Web apps in my case) be built with Go?
- orangethirty 13y agoYes. I am using it myself, and am about to deploy a production app. All Go.
- msbarnett 13y agoOut of curiosity, what are you doing for error reporting? I'm thinking something along the lines of honeybadger/hoptoad/etc -- automatic notification if the program crashes/deadlocks/what-have-you.
- orangethirty 13y agoIm using my own library at the moment. Might release it as open source in the near future. Just waiting on some language features to stabilize.
- blinkingled 13y agoSure. Go doesn't yet have any mature web frameworks like django for python but quite a bit of what is needed to build web apps is already part of Golang. (Packages net/http, html/template etc.) If I remember correctly Google switched their download service to using Go and there was a post here not long ago claiming they went from a lot of servers to merely 2 by switching to Golang. See http://golang.org/doc/articles/wiki/ http://golang.org/doc/articles/wiki/ for an example.
- ameen 13y agoIs Go really that efficient? I heard similar claims from somewhere else, and this has been a motivation for me to learn and then build something in Go. And what might be the reason for that? Speed? Parallel processing?
- blinkingled 13y agoWhile I don't have any first hand experience with Go's performance - it is not that hard to believe it will be fast enough - it is a compiled language, so no interpreter / JIT overhead like Ruby / NodeJS. Plus they try to be closer to C where it makes sense (it has pointers but no pointer math for e.g.). The synthetic language benchmarks also put it very close to gcc -O2 C performance. About the only things that need to be improved further (so I've heard) in Go are the GC, coroutine/thread scheduler and crypto performance. They are already better in 1.1 release but Crypto is still not close to OpenSSL performance.
- diakritikal 13y agoCrypto performance improvements, briefly benched and blogged by jgc: http://blog.jgc.org/2013/04/update-on-go-11-crypto-performance.html http://blog.jgc.org/2013/04/update-on-go-11-crypto-performan...
- pjmlp 13y ago> it is a compiled language, Correction: It is a programming language with two compilers available as the main implementation, but there are also interpreters being developed.
- _ak 13y agoAs someone who writes Go code professionally, I find Go code to be really easy and quick to write, with fewer bugs/LOC than any other language I've used. Both compilation and execution speed are really fast, so you have both quick edit-compile-test turnarounds similar to a scripting language while having the execution speed of native code. Not quite as fast as C and C++, but getting there. Writing concurrent code is incredibly easy with the primitives Go provides: goroutines (think of them like green threads multiplexed to 1 to very few OS threads) and channels (similar to pipes). No more faffing around with details of thread creation and teardown or an unreadable mess of callbacks (like you would have in system with event loops). So, if you've written concurrent software (like network servers) before, check it out, you will enjoy it.
- 13y ago
- azernik 13y agoThe Gorilla toolkit [http://www.gorillatoolkit.org/ http://www.gorillatoolkit.org/] adds several more useful libraries for writing web apps.
- ominous_prime 13y agoNot a definitive list, but some links to companies using Go in production: https://code.google.com/p/go-wiki/wiki/GoUsers https://code.google.com/p/go-wiki/wiki/GoUsers
- wsc981 13y agoYou can use Go with Google AppEngine [1], though it's experimental. AppEngine also supports Python and Java. It's a nice environment to experiment with Go, since you'll get quite a bit of free bandwidth / storage [2] to start out with: > "Not only is creating an App Engine application easy, it's free! You can create an account and publish an application that people can use right away at no charge, and with no obligation. An application on a free account can use up to 1 GB of storage and up to 5 million page views a month. When you are ready for more, you can enable billing, set a maximum daily budget, and allocate your budget for each resource according to your needs." [1]: https://developers.google.com/appengine https://developers.google.com/appengine [2]: https://developers.google.com/appengine/docs/whatisgoogleappengine https://developers.google.com/appengine/docs/whatisgoogleapp...
- StavrosK 13y agohttp://microco.sm/ http://microco.sm/ is all built in Go, as far as I know. buro9 loves it, and I bet deployment is a breeze.
- thomas11 13y agoWe built the backend of www.healthcorpus.com in Go. It was great.