Saturday | 20 APR 2024
[ previous ]
[ next ]

Thoughts on Go

Date: 2022-08-04

I've finally written a few programs in Go and damn! It is a breath of fresh air. I wrote a couple of routines I would normally whip up in python or node but I lucked out that for a couple projects I wanted it working on windows and as a self contained binary.

Using go was dead simple, I never completed the tutorial and luckily it was similar enough to most of the languages I used that everything made intuitive sense. I wrote a program to download a file from a remote computer and then upload that file every time it changes. This resulted in 2 programs, one to pull and one to watch the file.

The code ended up being quite small and I used two libraries, one for ssh and one for scp and both worked beautifully and without issue in getting it to cross compile to windows.

The walrus operator is a weird one, I get it but it doesn't jive with anything I've used before. The error check is pretty annoying but I'm glad its there. At least I'm not going to have some brain dead errors getting through.

Go feels like python, something I can quickly write and get a portable script. Unlike rust, Go feels better and simpler but it still doesn't feel warm. It's far less cold than rust but not quite what I am looking for as a permanent language. I'm still on the quest for a language I could use forever. Go is however definitely a good one to know and use more.

I also used Go as my blog markdown to html converted. It is quite a bit faster than pandoc and much cleaner. I'm pretty happy with that as well.