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.