the problem isn't actually Ethereum, but the tools they provide for writing smart contracts. the exploits are in contracts, not EVM.
that doesn't actually make it better, but it does highlight the problem of using code as an absolute arbiter b/c it can be hard to tell if it describes your intent accurately or not.