Solidity is a contract-oriented, high-level language whose syntax is similar to that of JavaScript and it is designed to target the Ethereum Virtual Machine. Solidity is statically typed, supports inheritance, libraries and complex user-defines types among other features. As you will see, it is possible to create contracts for voting, crowdfunding, blind auctions, multi-signature wallets and more.
Note: The best way to try out Solidity right now is using the Browser-Based Compiler
• Browser-Based Compiler Browser-based IDE with integrated compiler and Solidity runtime environment without server-side components.
• Ethereum Studio Specialized web IDE that also provides shell access to a complete Ethereum environment.
• Visual Studio Extension Solidity plugin for Microsoft Visual Studio that includes the Solidity compiler.
• Package for SublimeText — Solidity language syntax Solidity syntax highlighting for SublimeText editor.
• Atom Ethereum interface Plugin for the Atom editor that features syntax highlighting, compilation and a runtime environment (requires backend node).
• Atom Solidity Linter Plugin for the Atom editor that provides Solidity linting.
• Solium A commandline linter for Solidity which strictly follows the rules prescribed by the Solidity Style Guide.
• Visual Studio Code extension Solidity plugin for Microsoft Visual Studio Code that includes syntax highlighting and the Solidity compiler.
• Emacs Solidity Plugin for the Emacs editor providing syntax highlighting and compilation error reporting.
• Vim Solidity Plugin for the Vim editor providing syntax highlighting.
• Vim Syntastic Plugin for the Vim editor providing compile checking.
Discontinued:
• Mix IDE Qt based IDE for designing, debugging and testing solidity smart contracts.