@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
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…
@VD15 @kirby @sysrq @romin
The true scale of Google's penetration is yet to be assessed — there are all those tiny things like brotli or protobuf that you don't even expect to be in the software you use, but it's there!
And it isn't immediate spyware, yet our reliance on this company for technology still poses a major threat IMO — you can't just take it and use it: sooner or later they start pushing shit you might not want with the thing that is essential to your project.
@kirby @romin
And Python is turning into the same kind of shite BTW: new ways to do old things, deprecating things in one release, and not deprecating that again in the newer one, which is only month apart.
Same architecture support shenanigans, look at this: https://mail.python.org/archives/list/python-committers@python.org/thread/K757345KX6W5ZLTWYBUXOXQTJJTL7GW5/
"OMG, my machine broke, so we're lowering the architecture to Tier 3"
Python used to work everywhere, soon they will end up with Darwin on Apple silly cone, and x86_64 on Windows in Linux GLibC.
@kirby @romin
Nah, but I don't think we should be playing along with this "move fast and break things" and in the long run, I think it doesn't seem to work.
It was bad enough with libraries, but with programming languages it's just sickening, but ultimately it depends on governance — Go was prone to this from the get go (a pun, hehe), Python fell the victim of being used everywhere, little by little they have transitioned into catering to this crowd without even realising it.