The ULM C compiler

The C programming language was designed as a portable assembly language. That means, on every platform that provides a C compiler the source code can be translated to platform dependent assembly code. In order to be efficient the aim of C was to be as close to assembly as possible and as abstract as necessary. In the great book The Art of Unix Programming by Eric S. Raymond the C language is described as thin glue (read at least that section) between software and hardware.