3 ms·
As long as Ethereum apps are powered by a deeply-flawed programming language (Solidity) and VM (EVM), this will happen over and over again. Writing provable, s
by dawidloubser 9y ago
As long as Ethereum apps are powered by a deeply-flawed programming language (Solidity) and VM (EVM), this will happen over and over again.
Writing provable, secure software is difficult, and highly unlikely if your environment doesn't force the correct mindset. Solidity (poorly named) was made with the primary goal of being easy for JavaScript / Node hackers to use.
The cost of this is now illustrated through the repeat 'hacks' of bad 'smart contracts'.
- antouank 9y agoExactly. I'm amazed that so much of the web today is still based on "easy" scripting languages like JS or Python, which are fragile and error prone. Once I transitioned to Elm and Haskell, I saw bugs almost disappear. I didn't improve as a dev, I just used a safer language. Especially when money is involved, correctness and safety should be the number 1 priority.
- josefx 9y ago> Exactly. I'm amazed that so much of the web today is still based on "easy" scripting languages like JS or Python You can put any script kiddy in front of them and get a "working" program. > Once I transitioned to Elm and Haskell, My first question when I heard of Haskells main features: "What does a planet from Star Wars have to do with programming?". Haskell is not a source of cheap programmers. > Especially when money is involved, correctness and safety should be the number 1 priority. When money is involved the first priority is a cost/risk evaluation. Generally the people involved in that evaluation don't have much of a personal risk so the number 1 priority is to reduce the cost.