Writing a contract

Contracts live on the blockchain in an Ethereum-specific binary format (Ethereum Virtual Machine (=EVM) bytecode). However, contracts are typically written in some high level language such as solidity and then compiled into byte code to be uploaded on the blockchain.

Note that other languages also exist, notably serpent and LLL. Legacy Mutan (an early c-like language) is no longer officially maintained.

Language Resources

Solidity

Docs and tutorials

Examples

Compilers

Serpent

Contract/Dapp development environments and frameworks