Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For 99% of stuff I need to move either one statically compiled Go binary and maybe a configuration yaml. That's it.

With Python I need to have Python installed in there, and it has to be the correct version because of <reasons>. Then I need to figure out how I can install the dependencies for the program, with the correct version(s).

This usually would require me to figure out what's the current virtual env du jour and how do I get it working on a random *nix distro on the target computer.

Then I can install what's in requirements.txt or whatever the venv tool is using. And now I can maybe run it if all went well.

And when I need to update said program, with Go I can just scp/rsync a new binary on top of the old one at it'll Just Work.

With Python I need to move the Python source file(s) there, check for possible updates to libraries, update them using the venv tool and re-check that I have the correct Python version installed once more.

Now picture a situation where I need to do the process above for, let's say 12 different servers on different clients after every fortnight. All servers are Intel-based, but run a variety of Linux distros. I can use the exact same Go binary for every single one, the Python solution is a complete clusterf...

I do need to spend a bit more time when developing a Go solution compared to Python, but the ease of deployment is definitely worth it.



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

Search: