What is software?
Software is a set of programs, data and instructions that tells the hardware what to do. Hardware is the body; software is the mind. We divide software into system software and application software. (Programming tools like editors and IDEs are sometimes listed as a third kind.)
System software
System software runs and manages the computer itself.
- Operating system (OS): the manager. It handles files, memory, the CPU, devices and security, and gives you a user interface. Examples: Windows, Linux (Ubuntu), macOS, Android, iOS.
- Device drivers: small programs that let the OS talk to one device, like a printer or webcam.
- Utility software: care tools. Antivirus, disk cleanup, disk defragmenter, backup, file compression (zip).
- Language translators: change program code into machine language (0s and 1s). A compiler translates the whole program at once. An interpreter (like Python's) translates and runs one line at a time. An assembler translates assembly language.
Application software
Application software helps the user do a task: write a letter, make a bill, edit a photo, book a ticket. It cannot run without an OS.
System vs application
- System: looks after the computer; runs in the background; needed for the computer to work.
- Application: does the user's task; you open it when needed; the computer works without it.
Generic (general-purpose) software
Generic software is made for a large group of users with common needs. It is ready to use and usually cheap or free.
Examples: word processors (LibreOffice Writer, MS Word), spreadsheets (Calc, Excel), presentation (Impress, PowerPoint), web browsers, image editors (GIMP), media players, database tools.
Plus: cheap, quick to get, well tested, lots of help online. Minus: may not match a special need exactly.
Specific-purpose (customised) software
Specific-purpose software is designed for one organisation or one special task, according to its exact needs. Also called customised or tailor-made software.
Examples: railway or airline reservation system, school management system, hospital management system, bank payroll, a shop's own billing system, GST billing for a firm.
Plus: fits the job perfectly. Minus: costly, takes time to build, needs its own maintenance.
Try it: software audit of your phone
List 8 things on your phone. Mark each S (system: Android/iOS, settings, keyboard driver, antivirus), G (generic app: browser, calculator, notes) or C (specific: your school's app, a bank app). Then play step 6 in the 3D with the same idea.
Key formulas and definitions
- Software = system software + application software
- System = OS + device drivers + utilities + language translators
- Application = generic (general-purpose) + specific (customised)
- Compiler: whole program at once; interpreter: line by line
Worked examples
1. Classify: Android, MS Excel, printer driver, IRCTC booking system.
Android: system (OS). Excel: generic application. Printer driver: system. IRCTC booking system: specific-purpose application.
2. A small shop needs to make simple bills. Should it buy generic or customised software?
Generic, like a spreadsheet or a ready billing app. It is cheap and enough for simple needs. Customised software would cost too much.
3. Python shows an error on line 5 but has already run lines 1 to 4. What kind of translator is it?
An interpreter. It runs one line at a time and stops at the first error. A compiler would report errors before running anything.
4. Why is antivirus called utility software and not application software?
It does not do a user's work like writing or billing; it looks after the computer's health. So it is a utility, part of system software.
Common mistakes
- Calling MS Word "system software". It is a generic application.
- Thinking an app can run without an operating system.
- Calling every app on a phone "specific". A browser or calculator is generic.
- Mixing compiler and interpreter: the compiler translates the whole program at once.