4 ms·
Solidity is a DSL. DSLs have their purposes and this happened to be a correct purpose. It just also happens to be that Solidity is a terribly designed language.
by splintercell 5y ago
Solidity is a DSL. DSLs have their purposes and this happened to be a correct purpose. It just also happens to be that Solidity is a terribly designed language.
- ZephyrBlu 5y agoIn what way is Solidity terribly designed?
- f00zz 5y agoNot an expert, but integer overflows getting silently truncated sounds pretty terrible. I understand there are safe arithmetic libraries, but overflow exceptions should have been built right into the VM
- meowface 5y agoI agree. Thankfully, this was fixed in Solidity version 0.8 (released December 2020). Arithmetic operations now automatically revert on overflow/underflow, unless the programer explicitly wraps them in an "unchecked" block (sort of like how Rust supports "unsafe" blocks).
- Paradigma11 5y agoIt's modelled after JS with the explicitly expressed intent to get web devs from JS to Solidity. And it worked.
- spiralx 5y agoExcept that it has all of the ergonomics of mid-2000s PHP and MySQL. Hah, this comment from a discussion here in 2017 also explicitly compares it to PHP of that era :) https://news.ycombinator.com/item?id=14691212 https://news.ycombinator.com/item?id=14691212