Skip to content

Programming languages intro

tempzc edited this page Dec 3, 2019 · 1 revision

Programming languages

Smart contracts are high-level programming abstractions that are compiled down to EVM bytecode and deployed to the Ethereum blockchain for execution. They can be written in Solidity (a language library with similarities to C and JavaScript), Serpent (similar to Python), LLL (a low-level Lisp-like language),[1][2][3] and Mutan (Go-based, but deprecated[4][5]). There is also an experimental secure smart contract language under development called Vyper (a strongly-typed Python-derived decidable language).[6][7] There is also JULIA,[8] an intermediate language for different Ethereum virtual machines.

Solidity is the most supported and maintained language as of January 6 2018. Solidity has 9171 commits as of Jan 7 2018, with the last commits on Jan 6 2018.[9]. Serpent has 416 commits as of Jan 7 2018,[10] and was last updated on 1 Oct 2017, as of Jan 7 2017.[11]. LLL doesn't have a dedicated repository, but there are three pages of commits, 10 files, (4 + 662 + 54 + 114 + 31 + 78 + 46 + 37 + 136 + 33 = 1195 sloc) in a liblll folder in the Solidity repository, with the last update on 15 Jun 2017, as of Jan 7 2017;[12] and there is one page of commits and 159 lines of code in an lllc folder in the Solidity repo,[13] (as of Jan 7 2017). (As of January 7 2018), Vyper has 755 commits,[14] the last commit was Jan 6 2018,[15] while it has had the much more frequent activity since September 2017.[16]

Clone this wiki locally