Earlier quoted context omitted.
it's pretty hard to write even a simple smart contract that doesn't have horrible vulnerabilities. far harder, I would say, than writing C code that can't be buffer-overflowed on an old system with no protections in place. and solidity the language does NOT make this any easier. read all the resources you can. there are really counterintuitive best practices. the reason for all these hacks is not stupidity or lazines…
Quite the exaggeration, this silly meme has to stop. You make it sound like writing even a hello world would have horrible vulnerabilities or something. There are thousands of perfectly safe contracts deployed, one can't take some isolated incidents and make such conclusions from such a small sample.
i don't think it's impossible to write secure smart contracts but it takes quite a bit of care even for simple stuff.
there are many issues that arise because your functions might be called by an adversary who has set up the stack in an evil way.