Notes
Categories

Why Do We Need Programming Languages? [ English ]

< Prev Next >

Before learning Python or any other programming language, it is important to understand why programming languages were created.

A computer is an electronic machine that understands only machine language, which consists of two digits:

0 (Zero) and 1 (One)

These digits are called binary digits (bits).

Although computers can process binary instructions very quickly, writing programs directly in binary is extremely difficult for humans. Even a small mistake, such as changing a single 0 to 1, can produce incorrect results or prevent the program from running.

For example, imagine writing thousands of lines like this:

10110011
11001010
00110101
11101010

Remembering, understanding, and debugging such code would be nearly impossible.

To solve this problem, high-level programming languages were developed.

High-level programming languages allow programmers to write instructions using English-like keywords, letters, numbers, and symbols, making programs much easier to read, write, and maintain.

However, computers still cannot understand Python, Java, or C++ directly. Therefore, the program must first be translated into machine language before the computer can execute it.

This translation is performed by special software called a language translator.

There are two common types of language translators:


Compiler

A compiler translates the entire program into machine language before the program is executed.

If there are no compilation errors, the complete translated program is then executed.

How a Compiler Works

Source Code
      │
      ▼
   Compiler
      │
      ▼
Machine Code
      │
      ▼
 Program Execution

Example

Imagine you have written a book in English, but your friend understands only Hindi.

Instead of translating one sentence at a time, a translator first translates the entire book into Hindi. Only after the complete translation is finished does your friend start reading it.

This is similar to how a compiler works—it completes the translation first and executes the program afterward.


Interpreter

An interpreter translates and executes the program one statement at a time.

It reads the first line, translates it into machine language, executes it, and then moves to the next line.

How an Interpreter Works

Line 1 → Translate → Execute

Line 2 → Translate → Execute

Line 3 → Translate → Execute

Line 4 → Translate → Execute

This process continues until the program finishes or an error is encountered.

Example

Imagine two people speaking different languages with the help of a translator.

The translator does not wait for the entire conversation to finish before translating.

An interpreter works in the same way—it translates and executes one statement at a time.


Compiler vs Interpreter

Compiler Interpreter
Translates the entire program at once. Translates one statement at a time.
Execution starts after the complete translation. Execution starts immediately after translating each statement.
Errors are generally reported after compilation. Stops as soon as an error is encountered.
Execution is usually faster after compilation. Execution is generally slower because translation happens during execution.
Example: C, C++ Example: Python, JavaScript
< Prev Next >