CodeToGo is, essentially, an API wrapper around the Ideone.com online compiler and debugger that enables you to use it to compile and run code in around 50 different programming languages on your iPhone or iPad. It has been around for a while but has always been somewhat tarnished with the 'toy' label courtesy of a total inability to load or save code snippets, requiring you to type them in manually. Actually that wasn't quite the case either, although many thought it to be, as you could always use the ideone.com site to email the code snippets. However, this latest app update pretty much resolves the load/save issue by adding the ability to import and export files using Dropbox to the existing functionality which automatically saves the current code you are working on for any given language. You can now also save and load different files for each language. The Dropbox solution works well in practise, simply touch "Save" whilst editing and then go for the pretty obvious "Save to Dropbox" option. To load then, as I'm sure you have worked out by now, you do the same thing but use the "Load from Dropbox" option instead. It's a much neater solution than importing and exporting files by syncing to iTunes from your computer using the file sharing option. Just as ideone.com describes itself as 'more than a pastebin' so the same is true of CodeToGo. You can write your code and run it, right there from your iOS device without hassle. Each of the 50-odd supported languages come complete with some very basic (no pun intended) example 'Hello World' code so you can get off to a flying start. You do need an active Internet connection to be able to run the code you write using CodeToGo as it has to connect to the ideone.com site Linux servers which do all the hard work before sending the results back. There isn't, as far as I am aware, any workaround when it comes to running code on an iPhone or iPad. It's not a huge problem as you can load, write and save your code without that connection, and then wait until you get connected to run it.
In practise, CodeToGo is easier to use and ultimately more productive courtesy of the greater screen estate it and you have to play with. Not that it's useless on the iPhone, but usage is somewhat restricted by the small screen area. The extra, and totally customisable, row of commonly used keys that have been added to the default keyboard is a nice touch. As is the support for supplying input ahead of time by using the "Input (stdin)" tab to set user input.
All in all you wouldn't expect to be using this app for anything vaguely mission critical, it's a $2.99 app after all. However, CodeToGo remains a pretty good code scratchpad for when you are on the move and programming students in particular will find that CodeToGo provides a 'quick and dirty' environment in which to get the feel of a variety of languages right there in your pocket.
The full list of programming languages (together with input codes) supported by CodeToGo is as follows:Ada (.adb) Assembly (gcc - .s; nasm - .asm) AWK (.awk) Bash (.sh) bc (.bc) bf (.bf) C (.c) C99 Strict (.c) C# (C Sharp - .cs) C++ (.cpp) C++0x (.cpp) CLIPS (.cli) Clojure (.clj) COBOL (.cob) COBOL 85 (.85.cob) Common Lisp (.lisp) D (.d) Erlang (.hrl) F# (.fs) Factor (.factor) Forth (.4th) Fortran (.f) Go (.go) Groovy (.groovy) Haskell (.hs) Icon (.icn) Intercal (.i) Java (.java) JavaScript (.js) Lua (.lua) Nemerle (.n) Nice (.nice) Nimrod (.nim) Ocaml (.ml) Oz (.oz) Pascal (.pas) Perl (Perl - .pl; Perl6 - .p6.pl) PHP (.php) Pike (.pike) Prolog (GNU - .gnu.pl; SWI - .swi.pl) Python (Python - .py, Python3 - .3.py) R (.r) Ruby (.ruby) Scala (.scala) Scheme (.scm) Smalltalk (.st) SQL (SQLite - .sql) Tcl (.tcl) Unlambda (.unl) Visual Basic .NET (.vb)