root@vm-learning
~
$
open
ch-1-2
UNIT 1 ▪ CHAPTER 2
02
Types of Software
System Software · Programming Tools · Application Software
Learning Outcome 1: Differentiate system software, programming tools and application software.
Software is broadly classified into three categories based on who uses it and what purpose it serves.
Software classification tree:
2.1 System Software
System software manages the hardware and provides a platform for other software to run on. The user usually does not interact with it directly — it works quietly in the background.
- Operating System (OS) — the master control program (Windows, Linux, macOS, Android, iOS). Covered in detail below.
- System utilities — small helper programs that keep the system healthy:
- Antivirus — detects and removes malware (Quick Heal, Windows Defender).
- Disk cleaner / defragmenter — frees space, reorganises files on disk.
- Backup software — creates copies of important data.
- Compression tools — WinRAR, 7-Zip — shrink files to save space.
- Device drivers — small programs that let the OS talk to a specific piece of hardware. When you plug in a printer, the driver teaches Windows how to send pages to it. Without the right driver the device simply won't work.
2.2 Programming Tools & Language Translators
A CPU only understands machine language — binary sequences of 0s and 1s. Humans write programs in high-level languages like Python or C. A language translator bridges the gap by converting the human-written program into machine code.
| Translator | Translates | How it works | Example |
|---|---|---|---|
| Assembler | Assembly language → machine code | Converts each assembly instruction to its binary equivalent, one-to-one. | MASM (for Intel assembly) |
| Compiler | High-level language → machine code | Reads the whole program, reports all errors, then produces an executable file that can be run later. | GCC (for C / C++), Java javac |
| Interpreter | High-level language → machine code | Reads one statement at a time, executes it, then moves on. Stops at the first error. | Python, JavaScript |
| Aspect | Compiler | Interpreter |
|---|---|---|
| Translation unit | Whole program at once | One line at a time |
| Execution speed | Fast — pre-compiled binary | Slower — translates each run |
| Error reporting | All errors listed after a full scan | Stops at the first error |
| Debugging | Harder | Easier — run & test line by line |
| Output file | Produces a separate .exe / .class | No separate file — runs directly |
| Typical languages | C, C++, Java (hybrid), Go | Python, JavaScript, Ruby |
Real-world example: when you run
python hello.py, the Python interpreter reads your file line by line, translates each statement on the fly, and executes it. When you compile a C program with gcc hello.c -o hello, GCC produces a stand-alone file hello that you can run later — without the compiler present.
2.3 Application Software
Application software is what users actually use to get work done. It can be further split into two kinds:
2.3.1 General-purpose Applications
- Word processors — MS Word, Google Docs, LibreOffice Writer.
- Spreadsheets — MS Excel, Google Sheets.
- Presentation tools — MS PowerPoint, Canva.
- Web browsers — Chrome, Firefox, Edge.
- Media players — VLC, Windows Media Player.
- Image editors — GIMP, Photoshop.
2.3.2 Specific-purpose Applications
- Tally ERP / Zoho Books — accounting for businesses.
- BYJU'S, Khan Academy — e-learning platforms.
- DigiLocker — Govt. of India document vault.
- UPI apps — Google Pay, PhonePe, Paytm — digital payments.
- School ERP — manages admissions, fees, attendance.
- IRCTC Rail Connect — train ticket booking.
Distinction in one line:
- System software — runs the computer.
- Programming tools — help create more software.
- Application software — helps the user do real-world tasks.
📌 Quick Revision — Chapter 2 at a Glance
- Three kinds of software: System software, Programming tools, Application software.
- System software runs the computer — OS, System utilities (antivirus, disk cleaner, WinRAR), Device drivers.
- Programming tools = language translators: Assembler (assembly → machine code), Compiler (whole program → .exe, fast), Interpreter (line by line, easier to debug). Python uses an interpreter.
- Application software: general-purpose (MS Word, Chrome, VLC) and specific-purpose (Tally, UPI apps, IRCTC, School ERP).
- In one line: System runs the computer · Programming tools create software · Applications help the user.