Turn on all clippy lints on day one – even the pedantic ones. Run the linter and follow the suggestions religiously. Don’t skip that step once your program compiles.
There's a bunch of clippy groups to enable, but IME the pedantic ones can be kinda … not what you want. Especially the one about unnecessary moves annoy me, as it suggests what I consider an unnecessary long lifetime for a value instead.
Also not having used Java for decades I'll not comment on the state of their abstractions, but
IMO at the extreme being unable to shed the past means negatively hindering progress. I think modern Java versions show a budding shift in mentality
both reminds me of similar complaints against C++ (and with a sizeable amount of users wishing for an ABI break), and how weird it is to get both complaints like that and over the fact that so many shops are on ancient versions. They've moved slowly, but it doesn't seem like anything was slow enough for a lot of shops, which indicates they likely could've moved faster without changing which versions users would be at today.
This sounds like the antithesis to parse, don't validate. It is possible to use just maps and strings and get a "stringly typed" program, but there' a bunch of downsides to it too:
your typechecker can't help you if you used the wrong dict[str, Any]; most of us want the typechecker to help us write correct code
there's no public/private
everything you .get from a map is Optional; you need to be constantly checking and handling that rather than being able to have methods that return T, or even direct field access
you can derive or hand-implement a bunch of operations on (data)classes that you can't on maps: Comparison, ordering, hashing so you can use the blob of information as a map key, …
Ultimately while Hickey has a good point in the distinction between easy and simple, his ideals don't seem particularly aligned with the programming world at large: For one thing, Clojure remains pretty small, but even other dynamic programming languages like Javascript and Python have been moving towards typechecking through Typescript and typing in Python.
Doing a json.load into some dict[str, Any] is simple, but actually programming like that isn't easy. Apparently a lot of programmers find value in doing the extra work to get some stdlib or pydantic dataclasses. Most of us get a confidence boost from using parsed data, and feel uneasy shuffling around stuff that's just strings and maps.
Yeah, the left generally considers it a "fighting day" similar to March 8th. The right does gardening (to make it visible that they're not marching). Others do whatever they feel like; not uncommon to spend the day hung over.
if the process is just “wrong, do it again” without examining any piece of it
that's the definition of vibe coding. It's a process where you're supposed to work as if you don't know how to code and treat the code as magical mumbo-jumbo.
no, my point is that "vibe coding" is explicitly about not using your head and just going by "vibes". It's innately an excuse for shit code, because you're not supposed to look at the code at all.
If you're looking at the code and reviewing it, you're not doing "vibe coding".
Yeah, I've met some elderly with absolutely no practical sense. One wonders how they manage to tie their shoelaces (they probably don't). The world must be a lot more mysterious to them than to people who fix most of their own shit.
Conservatives often cosplay or try to present themselves as "non-political". In their mental map there's not a rich tapestry of various political preferences; there's "political" (left) and "normal" (guess).
Depends on your country. In countries with proportional representation you can vote for the party you like. If you're voting tactically you're down to the coalition you like.
E.g. here in Norway we get minority coalitions all the time. It's fine. They have to (gasp) cooperate with others to get anywhere.
Yeah, let's have a go with the ACI (anti-coercion instrument) and see if we can't make their patents free game. Playing to Trump's tune is unlikely to work out well
Yes I'm being sarcastic, but I also think utf-8 is plaintext these days. I really can't spell my name in US ASCII. Like the other commenter here went into more detail on, it has its history, but isn't suited for today's international computer users.
It's also some surprise internal representation as utf-16; that's at least still in the realm of Unicode. Would also expect there's utf-32 still floating around somewhere, but I couldn't tell you where.
And is mysql still doing that thing with utf8 as a noob trap and utf8_for_real_we_mean_it_this_time_honest or whatever they called it as normal utf8?
There's a bunch of clippy groups to enable, but IME the pedantic ones can be kinda … not what you want. Especially the one about unnecessary moves annoy me, as it suggests what I consider an unnecessary long lifetime for a value instead.