For reference, the NXT v1 brick has an ARM-based Atmel microcontroller with a clock of ~55MHz, 256KB of flash, and 64KB of RAM, along with a smaller ATMega4 microcontroller.
I recall using Eclipse for development and I am sure the build process involved uploading the JVM and program code via a USB infrared interface.
Have to say that I preferred using "Not Quite C" [1] due to it having a simpler syntax and intuitive support for cooperative multitasking.
[0] http://www.lejos.org/ [1] http://bricxcc.sourceforge.net/nqc/
Actually, looking at NQC's page, they don't support the NXT, just the RCX. That certainly would've been the killer for us, there.