Lastly, the more we sympathize with those who prefer the typical style of modern programming, the better off everyone will be. I am personally guilty for perpetuating rants, singling out groups of developers and attacking libraries (I regret these things a lot) when this was not at the heart of anything. We've nailed down the problem as shown in these posts, and the path I see forward is creating momentum with a community learning to, as you lucidly say, "make well how we make software."
Casey saying C++ is poopsauce is what attracted me here. I like people who notice when bad practice turns into bad religion and mock its doctrines and priesthood. I'm also of the opinion that education was best, when apprentices learned by watching masters at work.
The handmade ideal to me is jettisoning anything that gets in your way. Understanding as much as possible, so you have total control of the outcome. This is enjoyable. Battling mega engines that were not designed for the goal you have in mind is not fun.
The problem is that this idea of writing software that just *runs good enough* has found it's way into everything.
It's not just delegated to one-off data transformation scripts, webapps, enterprise CRUD apps,
prototypes and internal software never to see the day of light outside of a gloomy corporate building.
This cancerous idea has spread all the way to the foundations.
Look at your OS, development tools, compilers, debuggers, text-editors and IDEs.
Look how responsive visual studio has become since they have continuously started writing more and more parts of it
Look at this horrifying crime against computer hardware that is Android SDK - where you have to download
tens of gigabytes of garbage to build a hello world application FOR YOUR PHONE. And then wait 2 minutes
for the said HELLO WORLD application to compile using a build system worse than make, yet hundreds of times slower.
The finally wait 5 minutes for the emulator to start while contemplating suicide.
Where Native Development Kit is heavily discouraged undocumented afterthought and giant pain in the ass to use.
There's this bizzare idea what you can't have an expressive, productivity oriented language with tools to build
powerful abstractions (that fit the hardware) unless it has a garbage collector and a just-in-time compiler.
Or that any ahead-of-time optimizing compiler by it's nature has to compile slowly and simply cannot be blazingly fast.
C++ has traumatized a generation of programmers, they'd rather be garbage collectors than write code in C++.
It has painted this deeply distressing image of what native programming IS and CAN BE.