Utilisateur
Low level language
Translates assembly code into machine code
Translates an entire program in high level language into executable machine code (Which is called object code)
The plain text that's inoutted into the compiler
It's hardware specific, so will only run in certain environments
Translates code written in a high level language to machine code
Translates code line by line before executing
- Speed of execution is faster
- It's hard for users to view/edit the original program, so is better for distributing finished programs
- No need for translation at run-time
- Better for debugging programs as it runs line by line so detects errors more easily
- If a small error is found the program doesn't need to be recompiled, which is better when developing and testing the code
- Source code can be run on any machine with an interpreter
Using a bytecode interpreter
The machine must have a bytecode interpreter
High level languages - easier to read
- less memory efficient
- debugging is easier
Low level languages - harder to understand
- more memory eficient
- debugging is more complex
- More memory-efficient
- Speed of execution is faster
- Fewer instructions are needed to accomplish the same result