High-level programming languages
1. Definition
A high-level language (HLL) is a programming language whose instructions are written in a form close to English and mathematics, and which is independent of the machine it will run on. A program written in C, Java or Python does not mention registers, addresses or opcodes; those details are supplied later by a compiler, interpreter or virtual machine. Examples: C, C++, Java, Python, C#, JavaScript, Go, Rust, FORTRAN, COBOL.
2. Characteristics
- Readability —
total = price * qty; instead of MVI A, ... sequences.
- Machine independence (portability) — the same source, recompiled, runs on x86, ARM or a microcontroller.
- Abstraction — data types (int, float, string, array), functions, classes, exception handling.
- Structured / modular programming — loops, conditionals, procedures, object orientation improve clarity.
- Rich standard libraries — file I/O, maths, networking, graphics, databases ready-made.
- Less code per task — one statement expands to hundreds of machine instructions.
- Compile-time checking — syntax, type and scope errors caught early, which shortens debugging.
- Easier maintenance and team work — readable code, documentation, version control.
- Debugging support — symbolic debuggers show variable names and source lines, not raw addresses.
3. Levels of Languages (Generations)
| Level / Gen |
Also called |
Translation |
Example |
| 1GL — Machine |
Binary code |
None |
1000 0101 … |
| 2GL — Assembly |
Symbolic machine code |
Assembler |
MOV A, B |
| 3GL — High-level procedural |
Problem oriented |
Compiler / interpreter |
C, FORTRAN, COBOL, Java, Python |
| 4GL — Very high-level |
Task oriented, non-procedural |
Interpreter / DB engine |
SQL, MATLAB, Excel formulas |
| 5GL — Logic / AI |
Constraint-based |
Inference engine |
Prolog, LISP, AI shells |
4. Broad Classification of HLLs
| Paradigm |
Idea |
Examples |
| Procedural |
Program = sequence of procedures acting on data |
C, Pascal, FORTRAN |
| Object oriented |
Program = objects (data + methods), inheritance, polymorphism |
C++, Java, C#, Python |
| Functional |
Program = evaluation of functions, no side effects |
Lisp, Haskell, Erlang |
| Logic |
Program = facts and rules; engine infers answers |
Prolog |
| Scripting |
Small, interpreted automation languages |
Python, JavaScript, PHP, Bash |
| Concurrent / parallel |
Explicit processes and communication |
Ada, Go, Erlang |
| Query / markup (declarative) |
Describe what, not how |
SQL, HTML/XML, CSS |