Introduction To Computer Software
Computer software is mainly a general term that is primarily used for the purpose of storing digital data like computer programs as well as other kind of information that can be read or written by the computers. Software mainly includes the data that is not associated with the computers, like films, tapes as well as records traditionally. The term software was coined in such a way that it can contrast with the old term known as hardware that was used to denote mainly the physical devices. Though hardware is used for the tangible devices, software is used for the intangible components that cannot be touched physically. Software can also be used sometimes to denote application software only.
The term computer software or simply software was coined first by John W.Tukey in the year 1958. In the language of computer science as well as software engineering, computer software can be defined as collection of all the computer programs. Theory that now forms the basis for most of the modern software was proposed first by Alan Turing in the year 1935 while working on the application to Entscheidungs problem a kind of Decision problem.
Computer software is very different from the computer hardware that is used mainly to represent the physical interconnections as well as the devices that are required to execute or store the software. If one talks about the lowest level then it can be noticed that the executable code consists machine language instructions that are specific for an individual processor. Machine language consists of the groups of some binary values that are used to signify processor instructions required to change state of computer from the preceding state. Computer software is written usually in the high-level languages because it is easier and efficient for the humans to use because of its nature close to the natural language as compared to the machine language. These High-level languages can then be compiled or interpreted in machine language code. It is also possible to write Software in assembly language as well that is mnemonic representation of the machine language with the help of natural language alphabets. After that, Assembly language is assembled into the object code by making use of an assembler.
It has been noticed that an executable is sometimes not sufficient and enough for the direct execution of software. For this purpose, Software libraries were developed. They need to be included in the software as collections of the functions so that they can show the functionality that is embedded in many other applications. Most of the Operating systems include standard Software libraries, as well as applications that need to be distributed with other libraries. It becomes very easy to execute software with the help of software libraries.
Examples Of Software
Some of the examples of software are:
- Applications software: like word processors can perform all the productive tasks for the users.
- Firmware: software programmed specially to be resident in the devices that have electrically programmable memory like main boards and other types of the integrated hardware carriers.
- Middleware: that can be used to control and co-ordinate all the distributed systems.
- System software: like operating systems can govern computing resources to provide convenience to the users.
- Video games: leaving out their hardware components
- Test ware: that can be defined as a container terms or an umbrella term for all the utilities as well as application software to test a software package but do not contribute to the operational purposes. It is not a standing configuration and is therefore considered as a working environment for the different types of application software and their subsets.