Is there a custom keyboard like with iSSH: http://www.zinger-soft.com/support_g_3.html
The problem is that certain punctuation symbols (: . { }) are used often and they require a modal change to input them. I point to iSSH because the ability to reconfigure the keyboard makes it easy to type large blocks of code.