I’ve only spent an hour or two here and there getting back into Go but I remembered why I liked it. It still reminds me of “what if C, but with all the rough edges sanded off”. Functions and structs, mostly simple by default, there’s a lot to like there.
Goland has some nice features too, although it did choke when I tried to import something from GitHub, it kept redlining it even though “go build” worked fine. Mysteriously got better after running “go mod init” manually, for some reason.
Go’s package vendoring system was changing when I last worked on it, & seems to have changed again, so I was a little confused. Still, worked in the end and Goland has some really nice auto completions which is helping me remember syntax.
I have a basic tool that pulls out Mastodon posts and have figured out enough of the bsky API that I’m confident I could make a cross poster; although there’s a bunch of tedious details. I’ll see how far I get in spare time before the Goland trial expires
@sinbad I've used Go once (fixing a bug in a web backend for something of a previous employer's), and I remember it feeling quite nice. Didn't take much fiddling and Googling docs to fix the bug.
@sinbad Go was a nice language (haven't used it since 2020-ish) but the whole modules system was a confusing clusterfuck. Whenever you thought you "got it" you could be sure that next time it would complain about something being wrong with Gopath or that alternative system they used for managing modules
@kwramm yeah I kinda preferred it when we just vendored our own deps manually
@sinbad for game development, I’m increasingly of the opinion that we still don’t have quite the right language, and that our lives would be so much simpler if we did.
It’s frustrating because somewhere in the overlap between Go, Swift, C# and Nim, all the pieces are there.
@bbbscarter @sinbad It's great to see advances in some of them specifically for gamedev. The ebiten framework has done some work to get golang running on Switch (and possibly others) by swapping syscalls for C function calls: https://ebitengine.org/en/blog/native_compiling_for_nintendo_switch.html
Consoles aren't everything, but I expect there's some marketshare FOMO for many devs when picking a language.
@idbrii @sinbad yup, exactly - consoles are important. But then this leaves your choices as ‘C/C++’ or ‘a scripting language that you can’t JIT’, which is far from ideal. Ideally consoles would be more open after 20 years…
Indeed, the most promising developments are the golang hacks, and C# AOT in Godot/Monogame; but these come with some friction and GC issues.
But something simple and Go-like, which can compile to C, and do Swift like mem should be possible. Nim is very close to this.