Solidity is a smart contract programming language based on object-oriented programming. It's used to build smart contracts on a variety of blockchain systems, the most popular of which is Ethereum. It was created by Christian Reitwiessner, Alex Beregszaszi, and a number of former Ethereum core developers to allow smart contract authoring on blockchain systems like Ethereum. The Solidity-compiled programs are designed to run on the Ethereum Virtual Machine.
Solidity allows you to design contracts for voting, crowdfunding, blind auctions, and multi-signature wallets, among other things. You should use the most recent version of Solidity when deploying contracts. This is due to the frequent introduction of breaking changes, new features, and bug fixes. To highlight the rapid pace of change, we now use a 0.x version number.