Solidity
/suh-LID-ih-tee/ · noun · Development · Origin: 2015
Definitions
The primary programming language for writing smart contracts on the Ethereum blockchain and EVM-compatible chains. Solidity's JavaScript-like syntax belies the radically different execution model where every operation costs gas, bugs can lose millions of dollars, and deployed contracts are immutable.
In plain English: The programming language used to write self-executing contracts on the Ethereum blockchain, where bugs can be extremely expensive.
Example: A single missing check in a Solidity contract cost the DAO $60 million — in blockchain, there's no hotfix.
Origin Story
The smart contract language built for Ethereum's decentralized world
Gavin Wood proposed Solidity in August 2014 as a high-level language for writing smart contracts on the Ethereum blockchain. Christian Reitwiessner and the Ethereum Foundation team developed it, with the first version released alongside Ethereum's launch in 2015.
The name **Solidity** evokes the concept of **solid contracts** -- agreements that are immutable and enforceable once deployed to the blockchain. It also suggests reliability and firmness, qualities essential for code that handles real money.
Solidity's JavaScript-like syntax made blockchain development accessible to web developers. However, the language's quirks and the immutability of deployed contracts have led to spectacular losses -- the 2016 DAO hack exploited a Solidity reentrancy bug to drain $60 million in ETH.
Coined by: Gavin Wood (proposed), Christian Reitwiessner (lead developer)
Context: Ethereum Foundation, 2014-2015
Fun fact: Because smart contracts can't be patched after deployment, Solidity bugs are permanent. This led to the rise of 'upgradeable proxy patterns' -- contracts that delegate to replaceable logic, somewhat defeating the purpose of immutable code.