Osiset Code ramblings.

Go is nice

I’ve been coding with Golang in my spare time for the past year. It’s been different from the regular day-to-day Python, PHP, and Typescript.

I’ve released a few side projects such as a simple blockchain implementation, a webhook validator for Shopify, a Python clone of with, and other nick-nacks. Unfortunately, I haven’t had the chance to use it a whole lot during working hours.

Go is a strange beast. To a newcomer, it has an odd syntax for methods, loops, doesn’t come with built-in collection methods, its plain-jane control flow, and to top it off.. it is not functional and it is not object-oriented.

I won’t get into depths of Go, but I just wanted to shout out to its beauty in its strangeness in this post. It allows you to code freely in a logical manner, with the power of interfaces and structs that I’ve not yet seen in another language I’ve personally worked with.

I love how it also does not hold your hand. You’re free to do what you please and it is very bare-bones in a sense which gives you a good base to build from (example: the built-in testing package has no assertions). Its also hella fast.. the compile times and plain processing abilities are phenomenal.

There’s a lot of built-in tools like gofmt which ensures your code is formatted a certain way and the build system, the ability to build targetted binaries for systems (even exes!) quickly.

The community is growing rapidly and many tools are popping up, and many tools are being rewritten to Go. I’m excited to see its future and continue working with it more, hopefully, the next few versions will fix some module issues and introduce generics.