Hacker News new | past | comments | ask | show | jobs | submit login

Cloud backend: goLang (docker friendly, built-in concurrency)



Moved to Go after being frustrated with Python and I couldn't be happier. I know there are complaints with the language but I'm not that picky, I can get in and hack features together really quickly. Deployment is awesome and easy. Edit: I'm specifically referring to cloud development.


Have you used other languages here? Can you give a code example where Go shines here?


Not the poster you're asking, but in my case, have used Python extensively for cloud-related programming, lots of AWS lambda. Currently in a special kind of hell trying to move our company's lambdas from Python 2 to Python 3. It should be easy but there's an internal Python 2 library that is in everything that is massive and almost impossible to excise without significant effort. Started writing lambdas in Go, you ship your compiled binary and the lambda environment will never care what version you're running. Shipping a binary means I'm no longer worried about my build environment and pip and shipping all my Python junk the right way. Also in other areas, simply transposing some code to Go has had huge performance benefits over Python and concurrency is just so easy to pull off.


> Shipping a binary means I'm no longer worried about my build environment and pip and shipping all my Python junk the right way.

I'm not sure it is that clear a win: for go, if you want to be able to reproduce a binary in future, you would still need to keep track of exact versions of all your build-time dependencies such as the compiler toolchain & all library dependencies, and version control or archive backup copies of these. You still may need to figure out exactly what version of each component you're running if serious security vulnerabilities are found in some component.

I agree it is much simpler and easier to ship a single statically linked self-contained go binary than a python app, but both languages arguably require a similar amount of effort to having a reproducible process to build and deploy.


Shipping is simpler. I'm using the Go module system right now and I haven't had any problems so far. I keep library usage to the minimum, mostly I've gotten by with only the standard library.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: