title: Why doesn't (can't) the OS translate C code directly into machine language instead first translating it into assembly language?
body: <p>As far as I've understood, when a program (written in C for example) is compiled, it is first translated into assembly language and then into machine language. Why can't (isn't) the "assembly language step" be skipped?</p>