And remember, that there's a special function called VIP() .<p>This is an implied function that wraps around your full code. This is instantiated if/when core founders are losing money on a function that possibly had a bug in it. This function returns the wrapped function, under the guise of a new blockchain, with invalidations applied to all 'unintentional' side effects of bad or buggy code.<p>It happened with the DAO, because founders lost too much money. Just be aware, that VIP() can happen to your code, regardless if your implementation is a bug or intentional. Wrong people losing money means VIP() returns successful.
One of the main Ethereum co-founders is working on a new experimental contract language targeting the Ethereum Virtual Machine called Viper which still seems to be under relatively active development[1].<p>Why pick Solidity if Viper and other languages like Low-level Lisp-like Language (LLL) by Consensys[2] are around the corner? Or is this just a matter of language flavour similar to how anybody can pick from a plethora of languages targeting the JVM (Clojure, Scala, Java, etc.)?<p>[1] <a href="https://github.com/ethereum/viper" rel="nofollow">https://github.com/ethereum/viper</a><p>[2] <a href="https://media.consensys.net/an-introduction-to-lll-for-ethereum-smart-contract-development-e26e38ea6c23" rel="nofollow">https://media.consensys.net/an-introduction-to-lll-for-ether...</a>
I've been using Solidity for a bit. I wouldn't say it is my favorite language, it's a bit too javascripty for my personal preference, and its genuinely hard not to introduce subtle security flaws into the code. As a smart contract language it leaves a lot to be desired. That being said, it is really the only game in town on Ethereum right now. The other language implementations on the EVM are in various states of disuse. If you are interested in smart contracts on Ethereum you have to learn Solidity unless you want to reinvent the wheel with your own language implementation.
Last year I was pretty excited about Ethereum for a few months. But then I got to thinking about the social problems I care about, like how factory and middle class jobs are being wiped out by robots and AI, and I couldn't think of how DAPS could fix those sorts of problems on a large scale.
FWIW: The current Humble Book Bundle does contains the book Introducing Ethereum and Solidity[1].<p>[1]: <a href="https://www.humblebundle.com/books/linux-book-bundle" rel="nofollow">https://www.humblebundle.com/books/linux-book-bundle</a>
Are there any resources more informed readers might suggest for building a "toy" EVM language? Say based on racket? Thought it might be a good way to understand things deeply.