Languages
Smart contracts can be programmed in a variety of languages for the Ethereum blockchain. There are six main languages that can be used to write contracts:
- Solidity: This language has now become a standard for contract writing for Ethereum. This language is the focus of this chapter.
- Vyper: This language is a Python-like experimental language that is being developed to bring security, simplicity, and auditability to smart contract development.
- Yul: This is an intermediate language that has the ability to compile to different backends such as EVM and eWasm. The design goals of Yul mainly include readability, easy control flow, optimization, formal verification, and simplicity.
- Mutan: This is a Go-style language, which was deprecated in early 2015 and is no longer used.
- LLL: This is a Low-Level Lisp-Like Language, hence the name LLL. This is also no longer used.
- Serpent: This is a simple and clean Python-like language. It is not used for contract development anymore and is not...