Computer Machines are made from two basic constituents, the hardware part and the software part. The hardware part consists of all the physical components of the computer system that we can see, touch, and handle. This hardware components performs several functions in the computer such as providing the interface for the user supply data, the processing devices that process the supplied data, and the devices that present the result of the processed data to the user. Then comes the other constituent of the computer, the software! The soul of every of computer system.
As important as hardware devices may be, they are useless without the instructions that control them. The instructions used to control the hardware to accomplish tasks are called software. A computing device cannot do anything on its own. It must be instructed to do a job desired by the user of that computer. Hence, it is necessary to specify sequence of instructions a computer must perform to solve a problem. Such a sequence of instructions written in a language understood by a computer is called a computer program. A program controls a computer’s processing activity, and the computer performs precisely what the program wants it to do. When a computer is running a program to perform a task, we say, it is running or executing that program.
Software is the set of instruction that tells the computer what to do and when to do it. The computer uses this instruction to manipulate data, and enhance the proper functioning of the hardware components of the computer. It is designed to utilize and provide the potential capabilities of the hardware to the user. It converts data into information and allows users to use the computer in a different way.
Software package is a group of programs that solve a specific problem or perform a specific type of job. For sample, a word-processing package may contain programs for text editing, text formatting, drawing graphics, spelling checking, etc. Hence, a multipurpose computer system, like a personal computer at our homes or in offices, has several software packages, one each for every type of job it can perform. Without any software the computer would be useless.
Software is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language – the language that computer understood i.e., 0s and 1s. High-level languages are compiled or interpreted into machine language object code. Software may also be written in a low-level assembly language, essentially, a vaguely mnemonic representation of a machine language using a natural language alphabet.
Illustration of Computer instruction
Software is a generic term for organized collections of computer data and instructions, often broken into two major categories: system software, and application software.
TYPES OF COMPUTER SOFTWARE
Computer software are basically categorized into two (2) types: system software that provides the general basic non-task-specific functions of the computer, and application software which is used by users to accomplish specific tasks.
1 - SYSTEM SOFTWARE
Software required to run the hardware parts of the computer and other application software are called system software. System software is responsible for controlling, integrating, and managing the individual hardware components of a computer system so that other software and the users of the system see it as a functional unit without having to be concerned with the low-level details such as how data is been transferred from memory to disk, or rendering text onto a display. Generally, system software consists of programs that start up the computer and perform some utility functions such as checking and getting the computer ready for use. They are usually written to accomplish loading, execution, storage, and retrieval of files from/into the computer. The basic system software includes the operating system, utility software, device drivers, and language translators.
- Operating System:
An operating system is the most crucial important software that runs on a computer. It manages the computer's memory and processes, as well as all of its software and hardware. It also allows the user to communicate with the computer without knowing how to speak the computer's language. Operating system (OS) is the first software to be loaded into computer memory when the computer is switched on, and this is called booting. Without an operating system, a computer will be like a useless empty box. - Device Drivers:
System software that operates or controls and monitors functioning of a particular type of hardware device on a computer is called device driver. Each device like printer, scanner, microphone, speaker, etc. that needs to be attached externally to the system has a specific driver associated with it. Though, recently operating systems already comes with the universal driver utility in it that can easily detect the type of devices we connect to the computer automatically for the first time. - Language translator:
The language that computer understand is called a machine language – a string of Os and 1s. This machine language understood by computer processor were very tedious for human to understand, time consuming, hard to write/read, or debug by human. Hence, the reason to bring a program called Translator to interprets/translates our natural language to the computer machine language. Any program written in another language than machine language such as English, Arabic, French, or Hausa languages, needs language translator which carries out the translation to machine language. The 3 main types of translators are Assemblers, Compilers and Interpreter. - Utility Software:
Utility Programs (also known as utilities) are a set of programs that help users in system maintenance tasks, and in performing tasks of routine nature. Thus, utility software is actually a cross between system software and application software. Utility programs can also be use to enhance the functionality of the computer machine. Examples of utility software include:- Antivirus software
- Disk management tools
- File management tools
- Compression tools
- Backup tools
2 – APPLICATION SOFTWARE
class="indent"Application software is a set of one or more programs designed to solve a specific problem, or do a specific task. For example, payroll processing software, examination results processing software, railway/airline reservation software, computer games software are all applications software. Similarly, a program written by a scientist to solve a research problem is also application software. The programs included in an application software package are called application programs, such as Microsoft Office, which consists of closely integrated word processor, spreadsheet, database, etc.
Applications for desktop or laptop computers are sometimes called desktop applications, while those for mobile devices are called mobile apps. When you open an application, it runs inside the operating system until you close it. Most of the time, you will have more than one application open at the same time, which is known as multi-tasking.
Some commonly known application software includes the following:
- Word-Processing Software: Word-processing software enables us the use of a computer for creating, editing, viewing, formatting, storing, retrieving, and printing of documents (written material, such as letters, reports, books).
- Spreadsheet Software: Spreadsheet software is a numeric-data-analysis tool that allows the computer user to create a kind of computerized ledger. A manual ledger is a book having rows and columns that accountants use for keeping a record of financial transactions and for preparing financial statements.
- Database software: A database is a collection of related data stored and treated as a unit for information retrieval purposes. A database software is a set of programs that enable the creation of a database, maintain it (add, delete, and update its records), organize its data in desired fashion (for example, sort its records alphabetically name-wise), and selectively retrieve useful information from it.
- Graphics Software: Graphics software enables us to use a computer system for creating, editing, viewing, storing, retrieving, and printing of designs, drawings, pictures, graphs, etc.
- Education Software: Education software allows a computer to be used as a teaching and learning tool. A few examples of such software include those used for teaching mathematics, grammar, language, or any other subject.
- Entertainment Software: Entertainment software allows a computer to be used as an entertainment tool. Computer video games and media players belong to this category of software.
Computer programs, also called an application or app in mobile computing devices are written by human beings, like you. This means that the person who writes a program also decides on its functionality and behaviour - which explains why two programs that are supposed to do the same thing, do it in a different way but produced the same result. This is why, regardless of your expertise, you need to be acquainted with a particular program in order to make better use of it. The fact that you don't know a particular program doesn't say anything about your intelligence or lack of it. It simply means that you are not familiar with that program.
Software are very important in computing world! All the available hardware required software to run. Software programs control the hardware that we use as well as utilizing our inputs to create and provide us with useful information. We use Software in our daily lives for communication, Business, learning, and entertainment. One of the reasons why computer science (Software Engineering) is more important than hardware science (Electronic Engineering) is that several software can be designed to work on a single set of hardware device.