Solidity is a contract-oriented, high-level language for implementing smart contracts. The syntax is similar to that of JavaScript and it is designed to target the Ethereum Virtual Machine (EVM).
Solidity is statically typed, supports inheritance, libraries and complex user-defined types among other features.
It is possible to create contracts for voting, crowdfunding, blind auctions, multi-signature wallets and more.