Update (winter 19)
Scratch orgs and SalesforceDX are now available on Developer Edition orgs as well. Since it is free, I’d recommend using it with the tools provided and with Visual Studio Code and the Salesforce extensions.
The only free option I can remember right now is a web IDE at Aside.io. I personally don't use it, and don't like it because if I were to use a web IDE, then I'd just use the platform console.
For local file versioning, you are out of luck. It is either Eclipse or MavensMate (which is outdated and no longer maintained, but I suppose it still works).
In my opinion, if you are just starting with development on the platform, then you are better off using the console instead. Other options are paid.
- The Welking Suite looks like Visual Studio. Is paid.
- Illuminated Cloud 2 is a plugin to IntelliJ (which is a Java IDE). Not only is paid, but the IDE is resource-hungry. There are some small bugs when deploying code, but it is pretty much stable most of the time. Would not recommend to a beginner.
- SalesforceDX comes in to save the day for developers. Or that's what Salesforce wants you to think, but it is a new feature on the platform, and has some issues that would certainly give a headache to any beginner. I personally don't recommend it as well because it is not a mature/stable tool.
To sum up: if you are willing to pay, try The Welking Suite and Illuminated Cloud. If not, then use Aside.io or the platform console.