Learning to program on a phone is actually easier than you might think. You just need the correct peripherals and the right software to help you accomplish the goal. One such software apps is the Coda by Panic, Inc.. It has all of the benefits of a normal SSH client but also helps create SSH keys, and gives you easy access to multiple sites. Combined with screen on the remote host and you can easily pump out code on a phone.
You can learn Python, or Java or Ruby or whatever you fancy. Coda also has a nice feature where you can preview your code before you bother uploading it. Combined with the Transmit application you can easily sync between your phone and the remote server. You can use the remote machine as a file store, or a backup, or as a test server, etc. All you need is a couple of apps and the determination to learn how to develop on a command line and you’ve got everything you need!
I’m always amazed when people don’t take advantage of things like free EC2 accounts (as an example). But if you are just learning how to program, and want to get started, you don’t need anything more than a free EC2 account and an app like Coda to get started. A quick note on EC2 though – EC2 is free to use as long as you don’t use it a lot (lots of CPU usage, or disc usage, or bandwidth, etc), so if you’re going to start doing something significant, you’ll want to think about your options a bit more.
Like always, I think that trying to program or do any meaningful tasks without a full keyboard is slow and tedious, so make sure you have a Bluetooth keyboard. But just today, I wrote several small programs, compiled Java, set up some aliases, copied code around and many other administrative tasks all from my phone. It’s always going to be easier to do it on your desktop, but we’re getting closer and closer to a world where you won’t miss your laptop one bit!