Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Unit 2: Computer Languages — Low-Level & High-Level

Lesson 21 of 34 in the free Fundamentals of IT & Computers notes on Siksha Sarovar, written by Rohit Jangra.

Unit II — Computer Languages: Low-Level & High-Level

A computer language (programming language) is a formal notation used to write programs that a computer can execute. Languages are broadly categorised as Low-Level or High-Level based on how close they are to machine hardware.

---

Language Hierarchy

Machine Language (Binary — 0s and 1s)
        ↑ (least abstraction)
Assembly Language (Mnemonics)
        ↑
High-Level Language (C, Java, Python)
        ↑ (most abstraction)
Very High-Level / 4GL (SQL, MATLAB)

---

Low-Level Languages

Low-level languages are close to hardware — they directly control the CPU and memory with minimal abstraction.

1. Machine Language

  • The only language a CPU understands directly — pure binary (0s and 1s).
  • Every instruction is a binary number (opcode + operands).
  • Example: 10110001 00000101 (load the value 5 into register AL in x86)
  • Advantages: Fastest execution; no translation needed.
  • Disadvantages: Extremely difficult to write, read, and debug; machine-specific (not portable).

2. Assembly Language

  • Uses mnemonics (symbolic abbreviations) instead of binary opcodes.
  • One mnemonic ↔ one machine instruction.
  • Translated by an Assembler into machine code.
  • Example:
  • MOV AX, 5 (move value 5 into register AX)
  • ADD AX, BX (add BX to AX)
  • INT 21H (DOS interrupt call)
  • Advantages: Easier than machine language; still gives hardware control; very fast.
  • Disadvantages: Still machine-specific; harder than high-level languages.

---

High-Level Languages

High-level languages are close to human language — they use English-like syntax and are machine-independent.

Characteristics

  • One high-level statement = many machine instructions.
  • Must be compiled or interpreted before execution.
  • Portable — same code can run on different hardware with recompilation.
  • Easier to write, read, and maintain.

Categories and Examples

GenerationNameExamples
3GLProceduralC, FORTRAN, COBOL, Pascal, BASIC
3GLObject-OrientedC++, Java, Python, C#, Ruby
4GLVery High-LevelSQL, MATLAB, R, SAS
5GLLogic/AI-basedProlog, LISP

---

Comparison Table

FeatureMachine LanguageAssembly LanguageHigh-Level Language
ReadabilityImpossibleDifficultEasy
PortabilityNoneNoneHigh
SpeedFastestVery fastModerate (compiled)
TranslatorNoneAssemblerCompiler / Interpreter
Development timeVery highHighLow
Use caseCPU firmwareDevice drivers, OSApplication software

---

Procedural vs Object-Oriented Programming

FeatureProceduralObject-Oriented
FocusFunctions/proceduresObjects and classes
ExamplesC, Pascal, FORTRANJava, C++, Python
Code reuseFunction callsInheritance, polymorphism
Key Takeaway: The language spectrum runs from machine language (fastest, hardest) through assembly to high-level languages (easiest, portable). Machine language = binary; Assembly = mnemonics translated by assembler; High-level = English-like, translated by compiler or interpreter. This is a consistent exam topic.