Solidity is a programming language for writing smart contracts that run on the Ethereum platform. Smart contracts are the back-end of decentralized applications. This makes Solidity the programming language used to build decentralized applications in Ethereum. Solidity is “Turing complete,” which means that you can program anything that you want to build.
The introduction to the original Ethereum white paper states, “What Ethereum intends to provide is a blockchain with a built-in fully fledged Turing-complete programming language that can be used to create “contracts” that can be used to encode arbitrary state transition functions, allowing users to create any of the systems described above, as well as many others that we have not yet imagined, simply by writing up the logic in a few lines of code.”
Use Remix IDE to start working in Solidity. Remix IDE is a browser-based compiler and integrated development environment (IDE) for working in Solidity. It enables users to develop (build) Ethereum contracts with the Solidity language and debug transactions. It is a complete Solidity development environment right in the browser tab. You can use the Remix IDE to write a simple smart contract and deploy it. Remix is more than just a sandbox. Many developers write, compile, deploy and administer their smart contracts using Remix.
Users of Remix can follow tutorials with the Learneth plugin.
You can deploy a smart contract to just the browser or to a test network (“test-net”) like Ropsten. The Ropsten test-net allows blockchain developers to test their work in a live setting without the need for ETH. Then you can even deploy it to main net.
Read the Solidity documentation to help get you started. For a good overview and starting point, you can read the official Solidity Language Portal.
The GitHub Repository for Solidity is https://github.com/ethereum/solidity. Check out the README.md in the repository.
A great tutorial for learning Solidity is Cryptozombies. Cryptozombies is a free, open source, interactive code school that teaches you to build games on Ethereum.