VM-LEARNING /class.xi ·track.cs ·ch-1-2 session: 2026_27
$cd ..

~/Types of Software

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: SOFTWARE System Software Programming Tools Application Software OS Utility Driver Assembler Compiler Interpreter General purpose Specific purpose Windows Linux Antivirus WinRAR Printer drv. GPU drv. MASM GCC javac Python JavaScript MS Word Chrome, VLC Tally, UPI app IRCTC, ERP System software runs the computer · Programming tools create software · Applications help the user.

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.

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.

TranslatorTranslatesHow it worksExample
AssemblerAssembly language → machine codeConverts each assembly instruction to its binary equivalent, one-to-one.MASM (for Intel assembly)
CompilerHigh-level language → machine codeReads the whole program, reports all errors, then produces an executable file that can be run later.GCC (for C / C++), Java javac
InterpreterHigh-level language → machine codeReads one statement at a time, executes it, then moves on. Stops at the first error.Python, JavaScript
AspectCompilerInterpreter
Translation unitWhole program at onceOne line at a time
Execution speedFast — pre-compiled binarySlower — translates each run
Error reportingAll errors listed after a full scanStops at the first error
DebuggingHarderEasier — run & test line by line
Output fileProduces a separate .exe / .classNo separate file — runs directly
Typical languagesC, C++, Java (hybrid), GoPython, 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

2.3.2 Specific-purpose Applications

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.
🧠Practice Quiz — test yourself on this chapter