News for hackers. Stuff that matters.
Re:Web Development in Go by c2h5oh on Monday April 10, 2017 @02:51PM (#14081415)
TL;DR; Go promisses interpreted language developer productivity with C-like performance of the code and it delivers.

Longer version:

- I've been writing almost exclusively Go code as my full time job for the last 2.5 years

- I've coded in Python and PHP full time before - each at least as long as Go (and neither of them was my first or second programming language)

- I was able to pick up Go significantly faster than either of the two (0 to push to production in less than 2 weeks)

- I'm at least as productive (measured in problems solved / features delivered in unit of time) in Go as I was in Python

- standard library is great and very often replaces the need for 3rd party libraries (performant, production ready HTTP server for example) and makes dependencies "flatter"

- deployment of a single static binary vs virtualenv hell (pre-docker) is bliss

- it's actually very fast for free - you'll start worrying about (and start spending time on) performance way later

Negatives: - dependency management is bad

From web app/api perspective:

- just using http server from standard library gives you concurency go is known for - each request is a goroutine which is cheap: minimal overhead

- you can delay worring about performance (at least from the app part - not db obviously) more. It's easier to throw hardware at the problem when you need 1/10 of the hardware

- deployment is easy - single static binary that just works

- multiple CPU cores are simply used: you don't have to run multiple processes (node)

- http server in standard library is production ready: no need to stick it behind something else

- you get all that without sacrificing productivity

Re:Web Development in Go by Mikushi on Monday April 10, 2017 @03:01PM (#14081492)
I've had a bit of exposure to it (writing some HTTPS audit tool using Go\Crypto & some third party library - from CloudFlare) and I agree mostly, what struck me as a guy with 10+ years of PHP background is the speed at which I got the first versions of my tool out, really impressive. Definitely keen to may be transition to it if I can find stuff to do to better my knowledge of it.

Have you found a decent way to deal with the dependency management, I found it a bit clunky...

Re:Web Development in Go by c2h5oh on Monday April 10, 2017 @03:13PM (#14081634)
Govendor + vendored dependencies in repo
Re:Web Development in Go by cdelsolar on Monday April 10, 2017 @04:19PM (#14082171)
Godep is also fine, no real issues with dependencies here.
Re:Web Development in Go by gtaylor on Monday April 10, 2017 @09:06PM (#14084044)
I've ran into some pretty gnarly issues vendoring both helm and Kubernetes in the same project. Your luck really depends on the dependency graph for the stuff you are vendoring.
Re:Web Development in Go by cdelsolar on Tuesday April 11, 2017 @04:14PM (#14092026)
Ah yes. Vendoring things that themselves vendor other libraries gets very hairy.