Do also note that by saying that some % of crates use unsafe, it's not implied that 100% of the code in that crate is marked unsafe. It could be as little as one line; it could be a whole lot; it could be well-documented and tested; it might not be. (This is part of what the talk is about.)
It's also rather to be expected that there's more unsafe in embedded. As Steve Klabnik gets into in How to Do Embedded Development with Rust (GOTO 2023), it's used when you e.g. want to set a certain memory address to a certain value, which in a lot of contexts is nonsense, but in some contexts makes a LED light up.
Yeah, the article comes off as needing so much context that the article itself is sus. Like
Hejlsberg stated the obvious when saying that TS isn't the fastest language. Although it can laughably run Doom at 0.0000009645 fps.
… which is referencing an implementation of Doom in the TS type system. It's a funny idea, but an arbitrary reader who doesn't know about that and doesn't bother clicking through will get a very wrong impression.
The reimplementation (which they've done partially automated; Go apparently lets them do a very simple translation while Rust or C# would require more work to fit) should be a boon for TS devs, but not noticeable for those who just run stuff that happens to be written in TS.
Would be kinda interesting to see the effect if stuff targeted deno rather than node, though.
Yeah, the way things work in Norway and I expect in most other European countries is that you don't get a citizenship for just being born here, but if you're born and raised here, then by the time you're of school age you'd have lived here long enough to become a citizen, and unless your parents isolated you, you shouldn't have any problems with language requirements.
Basically the system here is "stay here for long enough and make a bit of effort for integration and sure you can become a citizen".
Of course, the far right loves to portray this as "unrestricted immigration" and make it harder for people to do that, or even live normally, get education and services for their kids, etc. And then complain when the result is people who feel that the system isn't working for them, or who have trouble because they're uneducated and poorly integrated anywhere.
I do like the idea of having an intent level character. And once we have that, we don't need AltGr7 etc (curly braces) to denote which level we're at either, the whitespace has all the information we need.
But ultimately I just use whatever is default for the language formatter these days. My own personal preferences on that isn't actually that important, and I find that's a common feeling once someone just works with the default for a while.
Leaking isn't really the issue, though I suppose Rust helps with that as well. Its memory sales pitch is more about memory safety, which is not reading or writing the wrong parts of memory. Doing that can have all sorts of effects, where the best you can hope for is a crash, but it often results in arbitrary execution vulnerabilities. Memory _un_safety is pretty rare and most prominent in languages like C, C++ and Zig.
Rust also has more information contained in it, which means resulting programs can actually be faster than C, as the optimizer in the compiler is better informed.
Rust is already in the kernel and Torvalds wants more, faster. He's being obstructed by C purists, who at this point are the people who should fork the kernel if they see anything but C as heresy.
One rather obvious reason is that society has a lot of greybeards in general. The baby boomer generation was named that for a reason, and people have been living longer on average. Lots of countries are struggling with the demographic effects. There's no reason to expect that tech or something even more specific like FOSS would be exempt.
Another aspect here is that FOSS is still kind of new in society. There's just more people who have had the chance to age into FOSS greybeards than when those greybeards were young. (And they were thus likely to a lesser degree blocked by entrenched greybeards when they were getting started.)
To be a bit more generic here, when you're at government scale you're generally deep in trade-off territory. Time and space are frequently opposed values and you have to choose which one is most important, and consider the expenses of both.
E.g. caching is duplicating data to save time. Without it we'd have lower storage costs, but longer wait times and more network traffic.
This needs some work to reconcile with how Trump appears to act towards the pretty poor Russia vs the wealthy EU, though.
Likely he's just personally uncomfortable with powerful allies, and would rather have weak & subservient underlings. That this would leave the US worse off seems to be a sacrifice he's willing to have the Americans make.
Thing is, there is already Rust in Linux, and Torvalds wants more, faster. He's being sabotaged by C purists, who at this point should stop acting unprofessionally, or at the very least make their own "only C" fork if they disagree with his leadership so much.
TIOBE literally ranks languages by search results. It's at best a measure of SEO. It is, generally, a trash metric that shouldn't be used for anything.
Reads more like if you made a mess as a kid and cleaned up before your parents came home. The state between when they leave and when they arrive is up for experimentation.
When the leader of the world's largest superpower dreams of Anschluss of their otherwise allied neighbour, that's not clickbait, it's the state of international policy and diplomacy with the leader the US elected.
I've moved on from vim to neovim, and I think I'll continue using something in that family in the future. It's a pretty stable experience overall, but the inclusion of LSPs and tree-sitter have been good improvements too.
Ultimately editors are tools, similar to keyboards, os-es, screens, chairs, shoes and so on. There are some objective quality differences between a well-constructed tool and some slapdash nonsense, and there are a huge amount of subjective quality differences. What suits me may not suit you, and vice versa.
It's generally good to try out some new (to you) stuff and see if you like it. If you do, great; if you don't, well, now you know. I think my worst experience was with Acme (or Wily? can't remember), during a phase where I experimented with Plan 9 stuff. Ultimately very not my cup of tea, but apparently Rob Pike (who made it) and some other gophers still enjoy it? Which is good for them, just like it's good for me that I can choose not to use it. It's just personal tastes, and I still think it's good that I gave it a go.
The debate over holding down modifier keys vs modes is also a part of the Emacs vs vi debate from many decades ago. There might be some statistics for what works best for the most people now, but again, use what suits you. And try some new stuff when you get curious, it's generally good for you.
Do also note that by saying that some % of crates use unsafe, it's not implied that 100% of the code in that crate is marked
unsafe
. It could be as little as one line; it could be a whole lot; it could be well-documented and tested; it might not be. (This is part of what the talk is about.)It's also rather to be expected that there's more
unsafe
in embedded. As Steve Klabnik gets into in How to Do Embedded Development with Rust (GOTO 2023), it's used when you e.g. want to set a certain memory address to a certain value, which in a lot of contexts is nonsense, but in some contexts makes a LED light up.