Low-level and High-level Programming language
---
Programming languages are often grouped into low-level and high-level languages based on how close they are to the computer’s hardware.
**Low-Level Programming Languages**
Low-level languages are close to hardware and give more control over system resources.
**Types**
**1.** **Machine Language**
* Binary code (0s and 1s)
* Directly executed by the CPU
* Example: 10101000 00000001
**2. Assembly Language** **:**
Is the low-level programming language that provides a human-readble symbolic representation of computer's specific machine code instructions.
* Uses mnemonics instead of binary
* Requires an assembler
High-Level Programming Languages
---
High-level languages are user-friendly and closer to human language.
**Examples**
* Python
* Java
* C++
* JavaScript
* C#
* PHP
Transletor
---
A translator is system software that converts a program written in a high-level or assembly language into machine language so that the computer can execute it.
**Types of translators**
**1. Compiler**
* Translates the entire source code at once
* Produces machine code or bytecode
* Errors are shown after compilation
**Examples:**
C, C++ → machine code
Java → bytecode (via javac)
**2. Interpreter**
* Translates and executes line by line
* Stops at the first error
* No separate executable file
**Examples:**
Python
JavaScript
Main types of errors
---
Errors are bugs or mistakes in a program that prevent it from working correctly.
**1. Syntax Errors**
* Mistakes in grammar of the language
* Detected by compiler or interpreter
* Program will not run
**2. Runtime Errors**
* Occur while the program is running
* Program starts but crashes
**3. Logical Errors**
* Program runs but gives wrong output
* Hardest to find