What I take from this: computer languages (C++ especially, but also systems built in C) are too complex for the average mind
No, I'm not significantly smarter than the average programmer
That's what needs to be addressed.
While C++ facilitates things, it is complex. While C is very simple it makes mistakes easier by requiring things to be done manually
IDEs don't help. Code completion is helpful but it is of limited help
And we keep repeating ourselves every time we write a for loop
I'm not necessarily disagreeing, but have you looked at the source code [1] of the Apollo Guidance computer [2]? This software was shipped to production 50 years ago. It literally implements a "self-driving space rocket." It is staggering that this was completed in such a short time and actually worked.
The code is written entirely in the "Apollo Guidance Computer (AGC) Assembly" language. The hardware that it was written for had to be invented in at the same time, and was the world's first computer to use Integrated Circuits ("chips"). They also implemented a Real-Time Operating System with a multi-task priority scheduler, as well as a virtual machine and assembly interpreter within the software.
This was mission and life safety critical code, the risk involved boggles the mind. And yet the software was incredibly reliable. It was so reliable that it even saved the Apollo 11 crew and mission during the lunar descent by famously recovering from a peripheral hardware bug.
I honestly do not know how this feat was even humanly possible, but I do know that these programmers did not rely on "code completion."
[1] https://github.com/chrislgarry/Apollo-11 [2] https://en.wikipedia.org/wiki/Apollo_Guidance_Computer