But it has since then stalled and got increasingly worse. Especially with this AI shoving everywhere, not even mentioning getting ads at some point in notifications and start menu.
I'm not particularly in love with MacOS either (but have no realistic alternative on my MacBooks).
I'm more and more inclined of switching my desktop (my main working machine) to Omarchy, two coworkers in my team use it and love it and seems the sweet spot for what I need as a dev without the annoyance of Windows or the god awful macos.
Each have their own pros and cons. You can see some of the legends who invented different methods of concurrency here: https://www.youtube.com/watch?v=37wFVVVZlVU
There's also a nice talk Rob Pike gave that illustrated some very useful concurrency patterns that can be built using the CSP model: https://www.youtube.com/watch?v=f6kdp27TYZs
Can you blame them when the dangerous way uses 0 syntax while the safe way uses non-0 syntax? I think it's fine to criticize unsafe defaults, though of course it would not be fair to treat it like it's the only option
Go was designed from the beginning to use Tony Hoare's idea of communicating sequential processes for designing concurrent programs.
However, like any professional tool, Go allows you to do the dangerous thing when you absolutely need to, but it's disappointing when people insist on using the dangerous way and then blame it on the language.
"why don't we just build a tool that can translate memory-safe Rust code into memory-unsafe C code? Then we don't have to do anything."
This feels like swimming upstream just for spite.