Smart contracts can be programmed in a variety of languages for Ethereum blockchain. There are five languages that can be used in order to write contracts:
- 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 not used anymore.
- Serpent: This is a simple and clean Python-like language. It is not used for contract development anymore and not supported by the community anymore.
- Solidity: This language has now become almost a standard for contract writing for Ethereum. This language is the focus of this chapter and is discussed in detail in later sections.
- Vyper: This language is a Python-like experimental language that is being developed to bring security, simplicity, and auditability to smart contract development.