In this tutorial, we will learn about different types of Computer Software. Computer software can be divided into many categories. However, we will restrict the discussion to three major categories here.
Types of Computer Software
The three major types of software are:
- System Software
- Application Software
- Programming Languages
System software programs manage and control the hardware of the computer. The system software has direct access to the hardware. System software maintains the computer to run more efficiently. System software can further be classified into the following types:
- Operating System
- Network Operating System
- System Utilities
An operating system is a system software that manages computer hardware like CPU, Memory, and I/O devices. It acts as an interpreter between the hardware, application programs, and end computer users. Common examples of operating systems are Microsoft Windows, macOS, and various Linux distributions.
Network Operating System
A network operating system allows computers to communicate and share data across a computer network. A computer network is a set of devices connected through links for the purpose of sharing data. Examples are Microsoft Windows Server editions, UNIX/Linux, Novell NetWare, etc.
A system utility is a software program that makes the computer system perform specialized tasks or functions. System utilities that manage computer hard disks, computer modems, troubleshoot computer hardware problems, etc.
Application software consists of software applications that are useful to the users. Application software is dependent on System software.
These can be divided into:
- General-purpose software
- Application-specific software
General-purpose software can be used for any purpose and for any application. For example, MS Office, OpenOffice, RDBMS like Oracle, and MySQL, Application servers like JBoss, etc.
Application-specific software can only be used for a specific purpose. For example, a Banking application developed for a specific bank.
Programming languages are used to write code, build, test, and debug software applications. Some examples of high-level programming languages are as follows: