| High-Level Language | Low-Level Language |
| Compiler | Interpreter |
| Assembly Language | Machine Language |
| Abstraction | Portability |
| A programming language that is closer to machine language and is harder to understand and use compared to high-level languages. | A programming language that is closer to human language and is easier to understand and use compared to low-level languages. |
| A program that directly executes high-level language code without prior translation into machine code. | A program that translates high-level language code into low-level machine code. |
| The lowest-level programming language consisting of binary code that can be directly executed by a computer's CPU. | A low-level programming language that uses mnemonics to represent machine instructions. |
| The ability of a program written in a high-level language to run on different computer systems without modification. | The process of reducing complexity by hiding unnecessary details to focus on essential features. |
| Efficiency | Readability |
| Source Code | Object Code |
| Assembler | Translator |
| Lexical Analysis | Syntax Analysis |
| The quality of code written in a high-level language that is easy to understand and maintain. | The ratio of useful output to total input in a system, indicating optimal use of resources. |
| The translated machine-oriented output produced by a compiler or assembler | The program text written by the programmer, before translation |
| A software tool that transforms source code from one programming language into another while preserving its logic. | A program that translates assembly language code into machine code. |
| The process of analyzing the grammar of the source code to determine its syntactic structure. | The process of dividing source code into meaningful elements for compiler or interpreter processing. |
| Semantic Analysis | Code Generation |
| Optimization | Linker |
| Line By Line | Compilation |
| Rapid Prototyping | Bytecode |
| The process of producing executable machine code or intermediate code from the analyzed source code. | Analyzing source code to determine meaning and identify errors related to logic and meaning beyond syntax. |
| A program that combines object code generated by the compiler with external libraries to create an executable program. | The process of making a system or process as effective and efficient as possible. |
| The process of transforming source code written in a high-level programming language into machine code. | A method of interpreting code where each line is processed sequentially. |
| A platform-independent representation of code that can be executed by an interpreter instead of being compiled directly to machine code. | An iterative development process that quickly translates ideas into tangible models or software. |
| Interpretation Overhead | JIT Compilation |
| Machine Code | Preprocessing |
| Assembly Code Generation | Linking |
| Executable Creation | Line By Line Processing |
| A method of runtime program execution that translates bytecode into native machine code for performance optimization. | The additional time and resources required during execution due to translating code at runtime. |
| Handles directives, removes comments, and expands macros prior to compilation. | Binary instructions that can be directly executed by a computer's CPU. |
| Combines object files with libraries and resolves symbols to produce the executable. | Converts optimized intermediate code into assembly language, which consists of low-level instructions understandable by humans. |
| A method of execution that can result in slower performance due to the incremental processing of code. | The process of generating a runnable program from the compiled code. |