High level
- Closer to the semantics of spoken language
- Each line of high level language translates in to multiple lines of machine code
- Identifiers can be long and meaningful
- Modules can be re-used throughout the program
Low level
<aside>
🏗️ i.e. assembly code
</aside>
- Reflect the design of the processor on which they are to run much more closely than their high-level equivalent
- Use mnemonics (assembly)
- Each line of low level language is translate into one machine code instruction
- Developer can manipulate the memory registers and CPU
- Much more efficient than high level, as translates to machine code much quicker