As an unsolicited opinion since smart contract languages came up in my feed, the whole "smart contract" concept is nice in theory but terrible in practice, because:
- Regardless of language[1], people can't code their way out of a wet paper bag.
- The testing/debugging/verification tooling is one of non-existent, shit,
or complicated/exotic[2].
- By it's very nature, errors lead to irreversible damage, and architectural changes that mitigate "programmer fucked up, sorry for your loss, have fun staying poor" go against the crypto ethos.
I want my digital currency alternatives to be as stupid as possible, and as private as possible (which also is a losing battle due to politics, but that's another rant).
[1]: Not even crab-lang can save your smart contract from developer errors. https://www.certik.com/resources/blog/1kDYgyBcisoD2EqiBpHE5l-wormhole-bridge-exploit-incident-analysis
[2]: See https://github.com/AU-COBRA/ConCert for an example of tooling that should be mandatory.