What is computer software?
How do we define computer software?
What is computer software is quite a common question, even today there are a lot of people whom do not know the definition of computer software.
It may surprise you to know that the modern day term "software" commonly bandied about today, was in fact first used in this sense by John Tukey in 1958.
So, what is computer software then?
'Computer software' is nowadays a general term that's used to describe a computer program. Or a collection of computer programs and procedures that actually perform some task, or tasks on a computer system.
- BTW -
John Wilder Tukey (born June 16, 1915 - July 26, 2000) was a statistician,
born in New Bedford, Massachusetts.
- BTW -
The term computer software does actually include all levels of programs. From application software such as word processors and spreadsheets, which perform useful productive tasks for computer software users. Right up to computer system software which makes the computer framework operate.
Computer system software refers to operating system platforms, which provides the basic framework for other software operate in. Operating systems, such as Microsoft Windows, Mac OS X or Linux, are current examples of computer system software.
Computer system software is any computer software which manages and controls computer hardware so that application software can perform a task. System software contrasts with application software, which are programs that enable the end-user to perform specific, productive tasks, such as word processing or image manipulation.
System software performs tasks like transferring data from memory to disk, or rendering text onto a display device. Specific kinds of system software include loading programs, Operating systems, device drivers, programming tools, compilers, assemblers, linkers, and utility software.
The system software interfaces with the computer hardware to provide the necessary services for application software. Along with middleware, which controls and co-ordinates all the various parts of the computers distributed systems.
Computer software is so named to make it an opposite and to differentiate it from computer hardware. Computer hardware covers all the physically touchable devices and hard wired interconnections that the computer needs to store, prioritize and run the software.
In order to run the software, it is loaded into the random access memory (RAM) and executed by the central processing unit (CPU). At the lowest processing level the software consists of a series of binary values, called machine language.
These binary values change the conditions of the computer from one moment to the next, depending on what the individual instructions are.
Computer software is in its basic form, an ordered sequence of specific instructions for changing the condition or state of the computer hardware. This happens via outputs from the central processing unit (CPU) in a desired particular sequence.
I should mention here that this changing of states happens at a very fast rate, in the Megahertz (Mhz, meaning millions of times a second).
Most of the time today , it will usually be written in high-level programming languages. Examples of these high level programming languages are Fortran, C, C++, Visual Basic, Visual C++, Pascal.
These high level languages are easier and more efficient for humans to understand and use because they are closer to our natural language than the machine language ever would be.
To the right is a clip of Visual Basic, although readable not much storyline!
When a program is written (coded), this (source) code is converted (compiled) into machine language object code for the CPU to understand, or at least respond to.
Software may also be written in what's called assembly language. This is a mnemonic representation of a machine language, using a natural language alphabet.
Assembly language must be assembled into object code via an assembler. Although more difficult for potential programmers to grasp, the most common advantage for programming with this type of language, is speed of execution.
So when someone next asks you, what is computer software? You'll be able to tell them!
"Computer software is an ordered sequence of instructions for changing the state of the computer hardware in a desired particular sequence."
Won't you . . . . Yes!!
Return to Computer Software page.
Go from What is Computer Software to Computer Hardware page.
Return from What is Computer Software to Home page.