5 ms·
I’m a pretty experienced solidly / ethereum developer, and a developer with 13 years experience in vast array of systems and languages (from embedded C on ppc t
by malux85 9y ago
I’m a pretty experienced solidly / ethereum developer, and a developer with 13 years experience in vast array of systems and languages (from embedded C on ppc to high performance c++ and now deep learning and scientific computing in python). I completely agree with you, that there’s some very odd language choices in solidity, seemingly rookie mistakes, and the tooling is very poor. But! It’s the 1.0 of crypto. Early C stuff was poor, early html development was poor, early OpenGL development was poor, it’s just new.
I see it as a lot of room for opportunity, but I could also see how it could be frustrating to some more senior people - but I have found part of growing old and seeing things constantly get re-invented but slightly different are windows of opportunity - so I get excited
- stevehawk 9y ago> early html development was poor, what you got against <blink>?
- nikkwong 9y agoCould you touch on what you find are the short comings of solidity?
- quickthrower2 9y agoThere was a semi-joke post on HN a while back where someone created a 'pyramid' lispy language using Racket, which complied to solidity. But in seriousness, a Haskell -> solidity compiler, might make it bearable.
- jjn2009 9y agoby solidity do you mean EVM?
- quickthrower2 9y agoprobably. pardon my ignorance.
- remcob 9y agoSolidity is a complex moving target with limitations such as max 16 local variables, missing optimizations and only partial support for dynamic allocation. You might want to compile directly to EVM instead of through Solidity. The EVM is very simple, as far as virtual machines go. It's fully documented in [the yellow paper](https://ethereum.github.io/yellowpaper/paper.pdf https://ethereum.github.io/yellowpaper/paper.pdf) and only changes with hardforks (and then only incrementally in a backwards compatible way). Smart contract development feels like embedded systems development. Every instruction has a significant cost associated to it. There are different memory spaces like a Harvard architecture (code, memory, storage, input, output, other peoples code). Like embedded systems, you need to be absolutely sure your code is correct before you deploy, as updates are impossible and a lot of economic value depends on correctness. But contrary to embedded systems it has 256 bit registers, 256 bit address space and SHA3 as a cheap instruction. This means that if you pick a 'random' hash, you can safely assume it's free! Hashtables in Solidity are implemented like this. Recently I've been doing some combined Solidity/EVM-assembly that I wrote about [here](https://medium.com/wicketh/mathemagic-chinese-remainder-theorem-a5604dfd96b0 https://medium.com/wicketh/mathemagic-chinese-remainder-theo...). I'll post more this month doing some advanced tricks in Solidity/EVM.
- wrinkl3 9y ago
- thisisit 9y ago> But! It’s the 1.0 of crypto. What will(is) the crypto 2.0 ?
- fourstar 9y agoEOS.
- sAbakumoff 9y agostate-regulated crypto currencies. It might sound strange, but Russia might be the first country that starts this practice. I wouldn't be surprised if Mr. Putin will make it part of his play book for the upcoming presidential elections. When it might be China. Once USA will throw Mr. Trump out of the WH and the sane person will rule the country, they will want to regulate crypto as well.
- yekm 9y agoWhat do you think about other blockchain related projects, like exonum or eos?
- patrickaljord 9y agoWhat do you think of viper?