As a side note, there are quite a few options to do safe micro controller system programming for those that prefer AOT compiled languages without C like unsafety.
http://www.mikroe.com/mikropascal/
http://www.mikroe.com/mikrobasic
http://www.astrobe.com
http://playground.arduino.cc/Code/AVR-Ada