💾 Archived View for tilde.club › ~winter › gemlog › 2024 › 2-17.gmi captured on 2024-08-18 at 17:55:23. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-05-26)

-=-=-=-=-=-=-

Playing Around With Go

I do a lot of programming for fun, but my breadth isn't very wide. I have what I joking call my "lifelong project", which is only sort of a lie - this July, I'll have been at it for thirteen years. At work, I use whatever my work stack is (right now: Python and some C#; in the past, Java, XSLT, C++, JavaScript), and at home, I work on my big project. It's written in C++ and Lua. I enjoy working with both, especially since I've found a subset of C++ that's manageable and fairly safe. I don't blow off my foot, like I always used to with C. RAII, it turns out, is very good.

So while I'm currently using C++, Lua, Python, and C# to various degrees, I haven't had a chance to look at other languages for a while. And in the last 10, 15 years, there's been a resurgence of interest in high-level systems languages. Maybe this isn't the best term for it, but think of C or C++. They're technically high-level languages, but sort of expect you to think of things in certain ways: there's no garbage collection, types are limited, and you're expected to not make mistakes, which, good luck.

But these are old languages - C dates to the 70s, C++ to the 80s, and there's been a bunch of languages (Go and Rust being the most notable) making noise in this space.

At work I've started using Go a bit, in the context of Terratest and writing unit tests for cloud deploys. So this has been my first exposure to a language that's been on my radar for years, where I've just never had an excuse to really work with it. First impressions: it seems fine. It feels like a garbage collected C++, which is incredible. I don't love the syntax or the feel, but that's fine, too. My lifelong project is written in C++. I've got a high tolerance for things I don't love.

I've been thinking for a while about trying to do some work with making some sort of nebulous Stuff for Gemini in Go. I was originally thinking a server, but even something as simple as a URL fetcher would be fun.

I'm finding now that I'm in my 40s that I'm worried about stagnation - which is funny, really, because for the first time in my life I'm in a job that feels (reasonably) safe, and because I started my career in the mid 00s working on C++ (which was definitely not hot tech at the time) - then put in most of a decade working with obscure integration platforms. But getting back into Python for work has me thinking it'd be nice to Go a little better as well. Better close this editor and get started, I guess.

gemlog