Sorry, Ruby – I think I’ve fallen for Go
medium.comI've written a lot of Ruby, wrote C and Java a long time ago, and have dabbled in Go.
Like Python and Perl, what really makes Ruby fun is the library ecosystem. The libraries seem written to remove coding drudgery. When I look at Go, I see Java. The language and libraries require a lot of boilerplate to do simple things, e.g., parse a JSON file or a simple HTTP GET. Some of this is due to static typing, but it's still overly complex. Maybe the 3rd party Go libraries will evolve given enough time.
As a language, Go just seems like a step backward from Ruby or Python. I categorize it as a language for people who like to write code for code's sake. It does seem like a better Java or C.
I do love gofmt, and obviously the speed, but the killer features are built in cross compilation and the simplicity of deploying a Go app with Docker. Docker becomes a very slim container to hold your app -- think 1M (Scratch base) or 6 MB (Alpine) containers.
Yep, I have been writing some really tiny Docker images with static Go binaries for a while now. It's great! If you can get Docker baked into an Amazon AMI, for instance, you can easily bypass the need for things like upstart using `docker run --restart`.
I feel as though you may want to look into the library ecosystem a bit more. The awesome-go repo is seriously invaluable. https://github.com/avelino/awesome-go