Serpent - arealive/Viper GitHub Wiki
Serpent is one of the high-level programming languages used to write Ethereum contracts. The language, as suggested by its name, is designed to be very similar to Python.1
The intent of the Serpent language is to make programming smart contracts and decetralized applications in Ethereum as easy as programming boring command line apps is in Python. The language is designed to be maximally clean and maximally simple, combining the benefits of a compiled language with an easy-to-use coding experience. Just the logic, and nothing but the logic. Unfortunately, floating point numbers are missing, as are higher-order constructs like list comprehensions and closures, but aside from that Serpent has basically everything that you need.
In July 2017 Buterin tweeted:
PSA: I now consider Serpent outdated tech; not nearly enough safety protections by current standards. See readme: 2
From the readme:
Being a low-level language, Serpent is NOT RECOMMENDED for building applications unless you really really know what you're doing. The creator recommends Solidity as a default choice, LLL if you want close-to-the-metal optimizations, or Viper if you like its features though it is still experimental. 3
[1] https://github.com/ethereum/wiki/wiki/Serpent
[2] https://twitter.com/VitalikButerin/status/886400133667201024