4 ms·
This is the same kind of complaint as was with C, Perl, PHP, then Javascript. All of these languages broke new ground, not in programming languages, but in dom
by zeroxfe 9y ago
This is the same kind of complaint as was with C, Perl, PHP, then Javascript.
All of these languages broke new ground, not in programming languages, but in domains. The people building these languages weren't PL experts -- they were just trying to solve problems. The domains got successful, and the languages either evolved or were replaced.
This is exactly where Ethereum is right now.
- klipt 9y agoWho uses untested C code to control an "oops I just lost $100M and there's no recourse" system?
- zeroxfe 9y agoPacemakers, satellites, rocket ships, cars, nuclear plants, etc.
- jjjensen90 9y agoThose systems are most definitely not running "untested C code."
- pjc50 9y agoThey're running tested C or Fortran, but there have been at least two rocket losses due to software error. http://www-users.math.umn.edu/~arnold/disasters/ariane.html http://www-users.math.umn.edu/~arnold/disasters/ariane.html https://www.itworld.com/article/2717299/it-management/mariner-1-s--135-million-software-bug.html https://www.itworld.com/article/2717299/it-management/marine...
- riffraff 9y agoAnd they generally have recourse, there are insurance services for rockets, even if you ignore the redundant hardware.
- crankylinuxuser 9y agoMy dad was an automotive engineer for Faruecia (sp?). A lot of emissions code is code he wrote. Wil Crawley , if you look up his 13 or so patents. He did things like the Electronic Muffler (which cancelled exhaust sound with antisound from a hardened speaker). I saw what he did for code review. He didn't "review it". He proved each function, for every input and output. The code he wrote had side effects that only 1 function could write to - and the function was called to change it. And those side effect variables were never critical ones. It was as close to Mathematical Proof as you could get.
- nl 9y agoThis sounds good and all, but there is actually a thing called provable correctness or formal verification, where code really is provably correct. See for example https://ts.data61.csiro.au/projects/seL4/ https://ts.data61.csiro.au/projects/seL4/
- crankylinuxuser 9y agoThere's a big difference in code that runs in the browser, and code that represents cold hard cash. If I go to a shock website (.on.nimp.org) it'll likely take down my browser. That's about it. Worst case is I get hit with a 0-day. I might* lose money in the worst of worst cases. Mostly what I lose is time in restoring from that. With Ethereum/solidity, anyone anywhere can affect the 'chain, and inject naughty bits and do bad stuff. Except instead of causing a security problem, you deleted/took millions of dollars. Point being, this language should be feature-limited, simple, and easy to read/parse. There shouldn't be undefined things that lead to semi-undefined functions. If you're making the next Brainfuck v2, sure have at. But this isn't a toy lang or a browser lang we're talking here. "The Code" (which you, nor most dont really understand) is the contract. Good luck in seeing what you really agreed to.
- JumpCrisscross 9y ago> code that represents cold hard cash People traded "cold hard cash" for tokens. Those tokens then got lost, stolen and changed in value. Speaking from the sidelines, people losing money isn't of particular concern. We're getting some interesting science, economics and art out of the process; re-allocating capital for those pursuits isn't particularly bad for society.
- crankylinuxuser 9y ago> People traded "cold hard cash" for tokens. And, tokens are... Money! Instead of being enforced by people with guns who will shoot you, it's enforced by math. > Those tokens then got lost, stolen and changed in value. Same with US currency, to the dot. > Speaking from the sidelines, people losing money isn't of particular concern. Really now? At least where I live, if someone or some place loses a lot of money, cops are called, and insurance can be summoned. There's a big response. And there's restorative methods to stem that problem. And if I went and stole $1000 from a bank, you can be your ass the cops are going to be there quick, and on a manhunt. > We're getting some interesting science, economics and art out of the process; re-allocating capital for those pursuits isn't particularly bad for society. No, we're not. The blockchain is inherently really awesome. So are the new proofs-of-X being discovered. But the language, Solidity, is more like Liquidity. The coding errors inherent here are major show-stoppers. I wouldn't put $5 in that pile. If someone could make a better lang and attach it, then I'd certainly reconsider. But not with Ethdev, and certainly not with Solidity.