This begins with how we teach Solidity to new developers. First, we explain Bitcoin, Ethereum, blockchain, and smart contracts. Next we show them the
web3 and how to make your SimpleStorage GUI.
Solidity is constantly treated as a second class language.
This is not just a problem for newbies. Seasoned developers spend weeks on-boarding before they write a single smart contract. Instead of learning Solidity, they spend their time debugging
.sol files into a
/contracts directory and call it a day. But this strategy doesn't scale. For dapps to move out of the prototype phase we will need mature tools which reduce the complexity of large smart contract systems.
There's still hope
- Solidity Learning Resources: More comprehensive learning resources that focus on Solidity. This could include a Hello World app that prints 'Hello World' to the console using
events. Having tutorials that cover Solidity basics, up to advanced design patterns will do wonders for our community.
- Solidity Package Manager: Smart contracts on Ethereum all execute within a shared runtime. This provides great opportunities for code reuse, but somehow we still don't have a good package manager.
Solidity development is wonderfully greenfield and I haven't covered most of what needs to be built. But that's what makes this field so exciting. Every developer can make a huge impact. But for us to make the most impact, we need to stop building around the problem and attack it at it's heart: the Solidity language.