A. The Translator Necessity:
Computers understand only binary Machine Language (0s and 1s). High-level human-readable code (Source Code) must be translated into machine-executable binary (Object Code).
B. Compiler vs Interpreter:
| Criterion | Compiler (e.g., Java `javac`, C++) | Interpreter (e.g., Python, JavaScript) |
|---|---|---|
| Translation Unit | Translates the entire source program at once | Translates and executes line-by-line sequentially |
| Execution Speed | Very fast after compilation | Slower; translates on every run |
| Error Reporting | Displays all syntax errors together after scanning | Stops immediately at the first encountered error |
| Intermediate File | Generates an independent object/bytecode file | Does not generate an object file |