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.
The problem is that it's virtually impossible to write a "correct" program in Solidity, there are just too many pitfalls that are literally trivial to run into.
It turns out that having a language designed by a 17-year-old who knows some Javascript might not be the best idea in the world, who would have thought?
The language needs to be thrown away and a more proper one implemented, plain and simple. Solidity is unfit for purpose.
I’m not sure who is more clueless - people that trust JavaScripty shit-language to manage their finances or people that built a cryptocurrency around javascripty shit-language.
But I definitely assign some guilt and responsibility for all the money lost in solidity contracts to creators of ethereum.
Ethereum and Solidity absolutely bear some of the blame for bad software if the software is only bad because the tooling is garbage. You can't just kick the can down the road, runtime and compiler authors have a responsibility to actually do a good job. PHP cost people tons of time and money in the bad old days and again, you can't just blame people for using PHP. You have to fix it.
At the end of the day of course, the biggest error was on the part of the app developer, #1 because they used a bad platform, #2 because they didn't QA enough to compensate for the platform being bad.
But it still comes down to the fact that Ethereum and Solidity are low quality and the low quality results in more bugs and lost money than we'd see otherwise. It's just like the bad old days of Windows XP (and the modern days of Cryptolockers) except now money is directly vanishing into the ether because bad software is controlling it.
Right, so you're saying if they decided to use Brainfuck instead, then it would be just as silly to complain? After all, it's not an issue with the language, which is perfectly functional, it's just that you're too stupid to write something in Brainfuck that actually works.
The point is that the designers of Ethereum shouldn't have been so short-sighted as to choose the hipster JS offshoot of the week to build their massive multi-million dollar distributed computing system on top of.
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.