3 ms·
Why Go will kick ass in your next project
- nickpresta 13y agoSite is down for me (timeout). Here is the Google cache link: http://webcache.googleusercontent.com/search?sclient=chrome-search&espv=213&es_sm=91&q=cache%3Araygun.io%2Fblog%2F2013%2F11%2F5-reasons-go-will-kick-ass-in-your-next-project%2F&oq=&gs_l=chrome-search.3...0.0.1.3161.0.0.0.0.0.0.0.0..0.0....0...1c..25.chrome-search..0.0.0.qvXCUc4w3CQ http://webcache.googleusercontent.com/search?sclient=chrome-...
- traskjd 13y agoShould be sorted now - sorry about that. Thanks for sharing the cache link though :-)
- deleted 13y ago[deleted]
- ancarda 13y agoGo has been great to learn. I was initially very annoyed that Go has no classes but I've found interfaces to be extremely powerful. I had two wow moments: 1. When I realized I could write a http response using anything that accepted an io.Writer (a struct with a compatible Write() method). I can use fmt.Fprint and pass http.ResponseWriter as the first parameter. Need a new line? Don't concat an \n, just use Fprintln. 2. Go has a number of interfaces such as sql.DB (database/sql). Even though Go doesn't provide SQL access directly, it standardizes SQL access and means if a library fizzles out or I write a new one from scratch, I can drop mine into an existing project with almost zero changes -- This meant choosing an SQL driver was very easy, I was reassured that if I picked the wrong one, fixing that would be easy as long as I picked one that built upon sql.DB. Go seems to be very cleanly designed. I have yet to have a wow moment with slices. Looking forward to it!
- mattgreenrocks 13y agoAside: many of these articles extol the virtues of static linking. I'm pleased that it is being re-discovered via Go. It was always unfairly overlooked from a deployment standpoint of desktop apps ("what if we need to upgrade just this library for a security fix?").
- alexeyshurygin 13y agoWhat's the point of single binary when you only do deployment on your own preconfigured server machine. That really kicks ass.
- sacado2 13y agoIf you only deploy on a single node, there is no obvious advantage (beside not fearing an update of a shared library might break your code). But if you deploy on a cluster, you might have an advantage, especially if that cluster is somewhat heterogenous (not the same version of OS, not the same libraries, etc.).