For those who like programming in pascal here is Turbo51 - a free pascal compiler for the 8051 family of microcontrollers:
http://turbo51.com/It features a fast single pass optimizing compiler, Borland Turbo Pascal 7 syntax, full floating point support, mixed pascal and assembler programming, full use of register banks, advanced multi-pass optimizer, smart linker, generates compact high quality code, output formats include binary, Intel HEX and assembler source.
Try it!
Igor