Programming languages are classified into 3 primary tiers: 1) Low-Level (Machine Code), 2) Medium-Level (Assembly & C), and 3) High-Level Languages (Python, JavaScript).
These languages are native to CPU hardware. Typically consisting of binary (0s and 1s) or hexadecimal opcodes that the processor executes directly without translation.
Intermediate languages that make use of human-readable mnemonic instructions (like MOV, ADD, JMP). They provide granular hardware control with minimal runtime overhead.
Languages like Python, JavaScript, and C++ abstract away hardware specifics. Developers write expressive logic close to human language, letting engines handle memory and registers.
Before computers can run high-level programs, source code must be translated to machine code using compilers, interpreters, or assemblers depending on the language.
An assembler converts assembly language mnemonics directly into CPU machine code. Each assembly instruction maps almost one-to-one with a native machine opcode.
A compiler translates the entire source code into machine binary ahead of time (AOT). Compiled languages like C, C++, and Rust deliver maximum speed and performance.
An interpreter parses and executes code sequentially, line by line. Languages like Python and JavaScript offer rapid testing and portability without separate build steps.
Deep dive into all 14 coding tiers, language paradigms, compilation vs interpretation, memory models, and code comparison tables in our in-depth engineering writeup.