C and assembly should work pretty well. As an alternative you can also look into Forth, a cool language that's easy to get running on the bare metal, and spans the levels from assembly to C and above.
A Forth machine is almost as amazing as a Lisp machine, and the language share some similarity in spirit, also (or maybe because) they are almost their exact opposites in almost all technical aspects.
A Forth machine is almost as amazing as a Lisp machine, and the language share some similarity in spirit, also (or maybe because) they are almost their exact opposites in almost all technical aspects.
(See e.g. http://en.wikipedia.org/wiki/Forth_(programming_language) for an overview.
"Forth is currently used in boot loaders such as Open Firmware, space applications, and other embedded systems.")