The two primary languages which are used to write Ethereum smart contracts are Serpent and Solidity.

Serpent is the older language which has become out of date as of September, 2017. Solidity, which is a javascript based language, has now become the recommended language for writing smart contracts. Security vulnerabilities have also been found in Serpent recently, which makes it an unattractive platform for development.

Some key features of these languages are:

Solidity – Solidity is a contract-oriented, high-level language whose syntax is similar to that of JavaScript and it is designed to target the Ethereum Virtual Machine (EVM).

Serpent – Serpent is a high-level language designed for writing Ethereum contracts. It is very similar to Python, but as of September, 2017, Solidity is the preferred language of development for Ethereum developers

Upcoming Smart contract languages

Solidity is currently the most popular language for smart contracts.

There are a few upcoming smart contract languages which can become important in the future:

Viper – Viper focuses on security and language and compiler simplicity. It has a python-like indentation scheme.

Lisk – Lasik uses javascript as a smart contract language.

Chain – Chain provides enterprise-grade blockchain infrastructure with SDKs in popular languages such as Ruby, Java, and NodeJS.