Who says microcontrollers can only be programmed in assembler or C? Parallax's Javelin Stamp is a multichip carrier with an 8-bit Ubicom microcontroller, surrounded by a 32-kbyte SRAM and 32-kbyte flash memory (see the figure).
The Javelin implements a limited subset of Java. It lacks garbage collection and is restricted to integer arithmetic. But these limitations are manageable in its target market, controller-oriented applications.
Java isn't the only language to break the mold of assembler and C. Forth's SwiftX cross-development IDE brings Forth to a range of 8-bit microcontrollers. SwiftX features C portability and even handles multitasking and interrupts directly. The debugger also supports Motorola's background debug mode (BDM).