Terminal IDE is a complete java / android development environment that runs on the phone.
javac, java, dx, aapt, apkbuilder, signer, ssh, sshd, telnetd, bash 4.2, busybox 1.19.2, vim 7.3 and a nice terminal emulator are all available.
It uses the command line with a correctly configured vim, and has a custom ANSI keyboard that works well.
The vim editor has been setup with java development in mind and is extremely powerful. Also vim has been setup by default in a humane way, so that starting on this long and glorious journey won't begin with a punch in the face.
Best of all you can log in via telnet / ssh and use your home keyboard/screen combo to program!
AND the whole app runs WITHOUT needing ROOT permissions.
It's all available with normal user permissions..
Also the project is released under GPLv2
http://code.google.com/p/terminal-ide/