From machine code to high-level languages
Machine code is the only thing a processor runs: patterns of 0s and 1s. Writing it is slow and error-prone.
- Assembly language (1950s) uses short words like
MOVandADD. An assembler turns it into machine code. It is still low-level: one line per processor step. - High-level languages use words close to English and maths, like
print(5 + 3). A compiler translates the whole program first; an interpreter runs it line by line.
A short timeline
- 1957 Fortran: science and engineering maths.
- 1959 COBOL: business records.
- 1972 C: operating systems, very fast.
- 1983 C++: C with classes.
- 1991 Python: easy to read, huge libraries.
- 1995 Java ("write once, run anywhere") and JavaScript (web pages).
- 2014 Swift (Apple apps), 2015 Rust (fast and memory-safe), 2016 Kotlin (Android apps).
Newer languages add safety (catching errors early), better tools and easier syntax, while staying fast.
Programming paradigms
A paradigm is a style of writing programs.
- Procedural: a list of steps and functions (C, Fortran).
- Object-oriented: objects that hold data and methods (Java, C++).
- Functional: build programs from functions without changing data (Haskell; also used in Python, JavaScript, Kotlin).
- Event-driven: code runs when something happens, like a tap (apps, web pages).
Most modern languages are multi-paradigm: you can mix styles.
Programming requirements of emerging technologies
| Technology | What it needs | Common languages |
|---|---|---|
| Artificial intelligence, data science | maths and machine-learning libraries, quick experiments | Python, R, C++ (for speed) |
| Mobile apps | touch screens, battery care, app-store rules | Kotlin, Java (Android); Swift (iOS) |
| Web and cloud | runs in browsers and servers, many users at once | JavaScript/TypeScript, Python, Java, Go |
| IoT, robots, drones | small memory, low power, real-time control, safety | C, C++, Rust, MicroPython |
| Games and VR/AR | fast 3D graphics | C++, C# |
| Blockchain | secure, checked contracts | Solidity, Rust |
| Quantum computing | describe qubits and gates | Python toolkits such as Qiskit |
Choosing a language means weighing speed, safety, libraries, the device it runs on and the team's skills.
Reporting on innovations in information technology
A good tech report answers five questions:
- What is it? Explain the innovation in plain words.
- How does it work? The main idea and the software behind it.
- Who uses it? Real examples, for example AI language assistants, self-driving features, digital payments like UPI, 5G, cloud computing.
- Benefits and risks: jobs, privacy, security, energy use, fairness, e-waste.
- Sources: name trusted sources and dates; check facts in more than one place.
Share it as a short written report, slides or a talk, using diagrams instead of long text.
Try it
In the 3D, pick each technology. Write one reason why its languages fit (for example: IoT โ small memory โ C or Rust).
At home: list 5 apps on a phone. Guess the technology behind each (mobile, web, AI, cloud) and the language it might use. Then check one online.
Key formulas and definitions
- Machine code: 0s and 1s the processor runs
- Assembly: short words, translated by an assembler
- High-level language: near-English code, translated by a compiler or interpreter
- Compiler: translates the whole program before running
- Interpreter: translates and runs line by line
- Paradigm: a style of programming (procedural, object-oriented, functional, event-driven)
Worked examples
1. Order these from lowest to highest level: Python, machine code, assembly.
Machine code โ assembly โ Python. Each step is easier for people and further from the hardware.
2. A team is building a smart water meter with very little memory and a small battery. Suggest a language and give two reasons.
C or Rust. They make small, fast programs that run without a big runtime, and they give close control of the hardware. Rust also stops many memory bugs.
3. Why is Python popular for AI?
It is easy to read, so experiments are fast, and it has big ready-made libraries for maths, data and machine learning. The heavy maths inside those libraries runs in fast C/C++.
4. Kotlin (2016) and Java (1995) both build Android apps. Give one reason a newer language appears.
Kotlin needs less code for the same job and catches 'null' errors at compile time, which removes a common crash in Java apps.
5. Plan a short report on UPI digital payments.
What: instant phone-to-bank payments. How: apps call secure bank interfaces. Who: shops, families, small vendors. Benefits: fast, cheap, less cash. Risks: fraud, phone loss, needs internet. Sources: official payment body data and news, with dates.
Common mistakes
- Thinking the computer reads Python directly. It must be translated to machine code first.
- Believing one language is 'the best'. The best choice depends on the job, the device and the team.
- Mixing up a compiler and an interpreter. A compiler translates everything first; an interpreter goes line by line.
- Writing a tech report with only benefits. A fair report also covers risks and gives sources.