I can't remember what the article says but compilers would never convert into assembly language. Assembly language is just a human readable version of machine code which itself is executable directly on a CPU. Most compilers would never compile into machine code either because that would require the compiler to know what the machine code should be for every CPU and all about the the rest of the hardware within the computer. I'm not sure how they get round this now but, in the old days, they'd supply one very basic language to be interpreted or compiled on any computer (say p-code) and then other languages would be compiled into that language. This means your high level language compiler will work on any computer that can run the underlying p-code.In the first part of this article, it states that programs are compiled into a set of low level instructions called assembly language. From what I've learned, compilers convert directly to machine code. Firstly, why does it state that programs are compiled into a set of low level instructions called assembly language? Secondly, does a CPU actually understand assembly language or does that assembly language have to go into an assembler to produce machine language for the CPU to understand? I just don't understand why the author states this. I looked up if a compiler converts high level code into assembly code, but it just states that it gets transformed into machine code.