posted 3 years ago
Hi Paul, thanks for your question.
Although it is probably not mainstream knowledge, bitcoin does allow you to create non-crypto application, however it is rather difficult, because the original bitcoin blockchain had been designed almost exclusively to support the bitcoin cryptocurrency. So generally only hardcore programmers venture in bitcoin Dapp land.
Ethereum was the first blockchain platform designed with the purpose of allowing developers to build any decentralized application (Dapp). Thanks to the introduction of the Ethereum Virtual Machine (EVM), developers can implement smart contracts in Solidity, a JavaScript-like language. Originally other languages such as Serpent (Python-like) and LLL (Forth-like) were also available, but have now lost traction. Recently it a new language called Vyper is gaining some followers. Basically a smart contract looks like a class of any object-oriented language: it has a constructor, state variables (similar to member variables), functions (similar to methods) and events.
A fork of Ethereum called Quorum was developed by the investment bank JP Morgan to allow privacy and better scalability. It is used mainly by financial institutions.
Other Distributed Ledger Technologies (DLT) such as Hyperledger and Corda have appeared in the last few years. They offer various functionality to support corporate application requirements such as privacy and scalability. I have briefly covered them in the last chapter of my book, if you are interested to learn more.