I LOVE Cloud9.
For the unGeeky
Me: Cloud9 is a development environment.
You: Great, that was singularly unhelpful.
Me: A development environment is the way one configures one’s computer to run the various applications used in programming (writing an application).
You: And this is so great because?
Me: Because setting up a development environment can be time consuming. There are usually a number of different applications you need to install and configuration changes that need to be made before the development environment is ready to use. For example, if you want to develop a PHP application (Wikipedia and WordPress are built on this) you’ll need an application to write code in as well as a web server to run the application. Most likely you’ll also need a database server to store all the data your PHP application works with.
In addition, programming can be messy and you may mess up your development environment and want to reinstall your Operating System (e.g. Windows, Mac OS X, Linux) – in which case you’ll have to do a bunch of work all over again to setup your development environment.
Personally, I like to have separate “workspaces” (aka development environments) for different projects. I may be writing a WordPress plugin in one development environment, experimenting with Node.js (currently one of the “hot” technologies), and have another project or two floating around. It helps me to keep things organized when my “workspace” only has the files related to the project I’m working on currently – and if I make any changes to configurations (e.g. to the web server) they will only effect this one project and not any other projects I am working on.
If you are looking to try out programming I’d recommend codeacademy and once you’ve got the swing of things, use Cloud9.
For the Geeky
Cloud9 provides a dockerized instance of Ubuntu preconfigured for development and a web-based IDE. It has prebuilt configurations for Node.js, LAMP, Python/Django, Ruby, C++, WordPress, Meteor, and HTML5.
For free you can create multiple workspaces, each workspace having 1 CPU, 512 MB of RAM, and 1 GB of HDD.
The IDE includes code completion, a JS/Node.js debugger, and a number of other features you can read about on their site.
It integrates seamlessly with Github and Bitbucket, allows you to share workspaces with others, provides a publicly accessible URL (if desired) so you can show off your application, and so on.
Looking to do a little WordPress development? You can have a workspace setup in under five minutes!
Ohh, and did I mention that the Code9 IDE is available via GitHub?