Andrew G10z is a user on bsd.network. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.
Andrew G10z @apg

:wave: I'm apg on github/gitlab, apgwoz on the bird service, and some combination of apg or apgwoz pretty much everywhere else on the internet.

I begrudgingly write to work on metrics and operations for a popular PaaS, and tend to lean towards and "not go" for personal projects, which I don't have enough time to complete.

I bounce between and on my personal machine, which I'm usually too tired to use by the time I'm done "computing" for the day.

· Web · 4 · 4

Will also note that I like to tell , and think I could see myself doing professional mirror photography for a living.

@apg Knowing Scheme can make a lot of languages grate, but how does Go irritate you? Just the fact it's for work, or...?

@shaknais first, I should point out that I see wxactly why it’s successful. It’s fairly productive, produces acceptable machine code, and has a large exosystem.

@apg Absolutely. Not a fan myself, but my work tends to use far more painful languages like FORTRAN and PL/I.

I'm just always interested in how people respond to languages. Go's basic and inflexible at times. Makes it decently fast and easier to scale. But it can irritate.

@shaknais irritating thing s: the type system...half way between static and dynamic (in practice), leaves out things like proper enums/variants. Encourages bug-ridden copy-paste programming...

Error handling is just...verbose. There are advocates of returning errors and then type asserting behavior, for cleanup and things. These are neither standardized, nor ergonomic, and most errors are “stringly typed” providing only a foot gun to properly handle them.

@shaknais there’s also things like the “god complex.” Russ Cox can literally kill years of work by writing a blog post, and the community will just follow. Pike, Cheney, other prolific folk...same thing. Trends are numerous, and code review becomes a shit show as “you’re doing this wrong. See cheney/you-are-doing-this-thing-wrong.

There’s also a fair amount of inconsistencies. Nil slices are usable with append, and don’t need to be “made,” but maps blow up.

@shaknais and, of course I can’t create functions like append, and can’t make my own types that work with range, despite the language hitting you over the head with interfaces as the one and only model. Guess what has a well understood interface? Iteration!

@apg Nils in maps sounds fun. Almost as bad as PL/I allowing you to free *part* of an array.

The exceptions and community are probably among my own top gripes with Go.