>Most of the time people find themselves fighting against the language, and struggling to have the program simply to ...
compile.
My sincere thanks for the book.
Advanced C usage remaining a black magic is not strength, it's weakness. This assures that attackers will always have a significantly stronger upper hand against industry's salaryman developers.
With C, what you see is what you get. I don't see how that can possibly be black magic.
Compiler these days optimise the code beyond human comprehension. Memory management libs, and what hardware does with your physical memory layout is inscrutable.
Register level vulnerabilities are very much black magic for anybody, but silicon maker itself.
Memory management libs used by any big C program add to complexity.
Fancy runtime pointer, and ROP sanitation libs fix some types of vulnerabilities, and add another.
And so, and so, and so.
I am a big proponent of C, but will not hide that C needs substantial education beyond just programming to use properly, and safely.
Having self learned C devs do a big, complex program is an invitation for security vulnerabilities.
Most of the time people find themselves fighting against the language, and struggling to have the program simply not to crash.
If you see that, you start to think how much those guys would have time left to ensure anything like input sanitation, or code hardening in general.