Just pick your language, write some code, and run it. Each language has its own example "Hello World!" program for you to test.
CodeToGo gives you an API around ideone.com, allowing you to run code in many different programming languages (on a Linux server) and get the results back.
IMPORTANT NOTE: Unfortunately, because you can't actually run code on the iPhone, you MUST have an internet connection to run the code! You can however write, save, and load code without a connection.
Save and load your code - The current code for a given language is automatically saved for you, and you can also save and later load different files for each language.
Beyond that, you can also save and load files to and from Dropbox. Simply touch "Save" or "Load" while editing in the given language and then either "Save to Dropbox" or "Load from Dropbox".
Additionally, you can add files directly from your computer to CodeToGo, as well as exporting CodeToGo files to your computer. To do so, go to the app syncing page in iTunes, scroll to the bottom where it says "File Sharing", add the desired files, and then you can load them in CodeToGo. NOTE: make sure the files have the correct extension before importing. See the bottom of this app description for the proper extensions for each language (and use "input" as the extension for input files).
For faster programming, CodeToGo even adds an extra row of commonly used keys to the default keyboard. You can also customize this extra row by touching the "Settings" button at the top right of the initial language screen.
CodeToGo also supports supplying input (ahead of time) for your program - Just hit the "Input (stdin)" tab to set the user input, then hit the code tab to go back to writing code.
Full list of supported languages (and their corresponding extensions):
Assembly (gcc - .s; nasm - .asm)
C99 Strict (.c)
C# (C Sharp - .cs)
COBOL 85 (.85.cob)
Common Lisp (.lisp)
Perl (Perl - .pl; Perl6 - .p6.pl)
Prolog (GNU - .gnu.pl; SWI - .swi.pl)
Python (Python - .py, Python3 - .3.py)
SQL (SQLite - .sql)
Visual Basic .NET (.vb)
Email comments, suggestions, bugs to nate AT pinkeh DOT com