The theory of software was first proposed by Alan Turing in 1935 in his essay “Computable numbers with an application to the Entscheidungsproblem.” However, the word software was coined by mathematician and statistician John Tukey in a 1958 issue of American Mathematical Monthly in which he discussed electronic calculators’ programs.
Software is often divided into three categories:
- System software serves as a base for application software. System software includes device drivers, operating systems (OSs), compilers, disk formatters, text editors and utilities helping the computer to operate more efficiently. It is also responsible for managing hardware components and providing basic non-task-specific functions. The system software is usually written in C programming language.
- Programming software is a set of tools to aid developers in writing programs. The various tools available are compilers, linkers, debuggers, interpreters and text editors.
- Application software is intended to perform certain tasks. Examples of application software include office suites, gaming applications, database systems and educational software. Application software can be a single program or a collection of small programs. This type of software is what consumers most typically think of as “software.”
[Launch Your Career in Software Development. Master techniques and best practices through the Software Development Lifecycle Specialization by Coursera]