Think of Ethereum as a very slow decentralized computer. People make mistakes building applications all the time, but this doesn't necessarily mean the underlying language, or for a better comparison, the compiler is at fault. Problems with the underlying language can cause problems with applications, obviously. Programmer error =/= language/compiler error, while both can occur.
People have been talking about the Parity hack like it's Ethereum's fault. Imo that's as absurd as blaming C for your program crashing to your coding error.
Your post, while you are confusing two types of errors, isn't completely off. Solidity does need improving. Any language has to pick tradeoffs, and evolves over time as it becomes apparent what the system's needs are. But Ethereum and Solidity aren't to blame for most of the ETH-based apps that rushed to market without an appropriate level of QA and review, cut corners, made mistakes, and caused catastrophic problems for their users like the Parity bug... this should be ringing bells, folks.