@kirby
The only thing that irked me about Go is having to describe all the JSON data structures beforehand — to be able to parse them. Maybe there is a way around it or tools that facilitate this, but I didn't find it. Rust's serde_json for example doesn't make you do any of this.
But when you compare it to dynamically-typed languages' "true=false" type of situations, I think I'm fine even with this 🤣
@kirby @romin
No, it's fine. I mean, of course it's recommended against — of course it's best to define the structures than to not define them — so if you feed it some weird input instead of what you expect, you'd realise it sooner than later.
I've never tried it, probably should work — why should it not, having reflection, it's trivial to implement.
In any case, I think I'm done with Go — I really like the language, but I don't like the direction it's heading under this governance.
@kirby @romin
They are deprecating old architectures just like that! Look at this for example: https://github.com/golang/go/issues/19074
It's literally:
— But PowerMac G5 is the most widely available ppc64 hardware, we can't deprecate that!
— Tehe, just ask IBM for newer hardware 😘
This isn't user's perspective, this is corporation's perspective — they don't give two fucks about the users.
Rust having much less resources has PowerPC support, community-driven Zig and Nim do, albeit a bit buggy. Go does not!
@kirby @romin
Then they are adding shit no one asks for — that doesn't enable you to do new things, but allows you to do the same things differently — and they are adding them for the sake of being different.
Look at the typical Go dev here: https://www.dolthub.com/blog/2024-07-12-golang-range-iters-demystified/
OMG, there is a new way to do iterators, let me update my library to use that right now!
WTF?! I'm not playing this game!
@sysrq @kirby @romin
Yeah, exactly! They should've left the language alone in the state it was described in the Go Programming Language book — it was perfect!
They are introducing breaking changes that do not really bring anything new to the table — but community seems fine with it: when you try to build a more or less active project with gccgo, turns out things are already broken and you have to "backport" things.
@sysrq @kirby @romin
Even Rust isn't that bad, its standard library is very limited and popular crates often get changes for changes' sake, the most recent one that pissed me off being clap, the popular crate for working with command line arguments — I'm reading a book that was published a few years ago and the examples do not work in the newest version already! The changes are trivial: they have renamed a couple of classes (e.g. App to Command), a few functions here and there…