Deep Notes on 'How does a computer program
work?'
A program makes a computer usable...
- A computer without programs is just hardware with no purpose.
- Analogy: A piano without a player is furniture; a smartphone without apps is a paperweight.
Without a player, a piano is nothing more than a wooden box.
- Hardware = potential, Software = realization of that potential.
- Programmers are the “players.”
Computers are able to perform very complex tasks...
- They seem smart but only because of instructions given by humans.
- Bugs happen when instructions ≠ intentions.
It can execute only extremely simple operations.
- CPUs execute small instructions (ADD, JUMP, etc).
- Like LEGO bricks: simple individually, powerful when combined.
A computer cannot understand the value of a complicated function...
- CPUs don’t inherently “know” math formulas.
- Modern CPUs/GPUs optimize math but still rely on programming.
Contemporary computers can only evaluate fundamental operations...
- Power comes from speed (billions of operations/sec) and repetition.
- Cloud computing magnifies this further.
Imagine average speed example...
- Problem breakdown: Inputs (distance, time), Process (division), Output (speed).
Computer is not aware of distance, speed, or time.
- Computers manipulate symbols, not concepts.
- Like calculators: they add numbers but don’t “know” what money is.
Instructing the computer: distance, time, divide, display.
- IPO model: Input → Process → Output.
- Example in Python:
distance = float(input("Enter distance in km: "))
time = float(input("Enter time in hours: "))
speed = distance / time
print(f"Average speed = {speed} km/h")
These four simple actions form a program...
- Human instructions → Programming language → Machine instructions.
- High-level → Compiler/Interpreter → CPU execution.
Language is the keyword.
- Communication requires programming languages.
- 2025 context: High-level, low-level, domain-specific, and natural language programming.