How Computer Software Works
Learn About This Lesson
After completing this lesson, you will be able to:
- Explain the history of computer software development.
- Describe the role of computer software in the operation of the computer.
- Differentiate between the two forms of software.
- Summarize how computer software is created.
Inquire: Software: What is it and Where Does it Come From?
There are two major components of an information system: hardware and software. Software – a computer program, computer application, or just an app – is the set of instructions that tell the hardware what to do. Software is created through the process of programming. Without software, the hardware will not function.
Software can be broadly divided into two categories: operating systems and application software. Operating systems manage the hardware and create the interface between the hardware and the user. Application software is the category of programs that do something useful for the user. This lesson will focus on these different types of software, and how software is created.
Watch: Computer Software and Applications
Read: Type of Computer Software
Software can be broadly divided into two categories: operating systems and application software. Operating systems manage the hardware and create the interface between the hardware and the user. Application software is the category of programs that do something useful for the user.
Operating Systems (OS)
The operating system provides several essential functions, including:
- managing the hardware resources of the computer
- providing the user-interface components
- providing a platform for software developers to write applications
All computing devices run an operating system. For personal computers, the most popular operating systems are Microsoft’s Windows, Apple’s OS X, and different versions of Linux. Smartphones and tablets run operating systems as well, such as Apple’s iOS or Google’s Android.
Early personal-computer operating systems were simple by today’s standards; they did not provide multitasking and required the user to type commands to initiate an action. The amount of memory that early operating systems could handle was limited as well, making large programs impractical to run. The most popular of the early operating systems was IBM’s Disk Operating System, or DOS, which was developed for them by Microsoft.
In 1984, Apple introduced the Macintosh computer, featuring an operating system with a graphical user interface. Though not the first graphical operating system, it was the first one to find commercial success. In 1985, Microsoft released the first version of Windows. This version of Windows was not an operating system, but instead, was an application that ran on top of the DOS operating system, providing a graphical environment. It was quite limited and had little commercial success. It was not until the 1990 release of Windows 3.0 that Microsoft found success with a graphical user interface. Since 1990, both Apple and Microsoft have released many new versions of their operating systems, with each release adding the ability to process more data at once and access more memory. Features such as multitasking, virtual memory, and voice input have become standard features of both operating systems.
A third personal-computer operating system family that is gaining in popularity is Linux, which is a version of the Unix operating system that runs on the personal computer. Unix is an operating system used primarily by scientists and engineers on larger minicomputers and servers. These are very expensive computers, and software developer Linus Torvalds wanted to find a way to make Unix run on less expensive personal computers. Linux was the result. Linux has many variations and now powers a large percentage of web servers in the world. It is also an example of open-source software.
The second major category of software is application software. Application software is, essentially, software that allows the user to accomplish some goal or purpose. For example, if you need to write a paper, you might use the application-software program Microsoft Word. If you want to listen to music, you might use iTunes. To surf the web, you might use Chrome or Firefox. Even a computer game is application software. Application software is written for a specific OS, so your OS can limit the applications that you can use on a specific computer.
The use of personal computers was minimal at first; mostly hobbyists worked together to write applications and make computers run. Most of those familiar with computers were familiar with that had a huge footprint. It filled a whole room and it seemed unlikely it would ever be used by individuals. It took a “killer” application – an application that becomes so essential that large numbers of people will buy a device just to run that application – to launch computers into the desktop computer market.
For the personal computer, the first killer application was the spreadsheet. In 1979, VisiCalc, the first personal-computer spreadsheet package, was introduced. It was an immediate hit and drove sales of the Apple II. It also solidified the value of the personal computer beyond the relatively small circle of technology geeks. When the IBM PC was released, another spreadsheet program, Lotus 1-2-3, became the killer app for business users.
Utility Software and Programming Software
Utility software and programming software are two important subcategories of application software.
Utility software includes software that allows you to modify your computer in some way: antivirus software, screensavers, backup software. These types of software packages supplement the functionality of an OS or make interacting with the OS simpler. As developers release updates to operating systems, many utility program functions become integrated directly into the OS.
Programming software, or software development tools, allow the programmer to make more software; this category includes compilers, assemblers, and debugging software. Most of these programs provide programmers with an environment in which they can write the code, test it, and convert it into a format that can then be run on a computer.
Reflect: What is More Important: Hardware or Software?
When you are purchasing a new computer, what do you usually consider the most important?
Expand: How Software is Created
When a programmer creates computer code, s/he is translating an idea, or detailed specification of what someone needs the computer to do into a form that a computer can understand, thus, coding a program for the computer to run that meets the needs of the users.
Modern software applications are written using a programming language. A programming language is an artificial language that provides a way for a programmer to create structured code to communicate logic in a format that can be executed by the computer hardware.
Software programming was originally an individual process, with each programmer working on an entire program, or several programmers each working on a portion of a larger program. However, newer methods of software development include a more collaborative, or agile approach, with teams of programmers working on code together.
To write a program, a programmer needs little more than a text editor and the specifications for what functionality is needed. However, to be productive, he or she must be able to check the syntax of the code, and, in some cases, compile the code. To be more efficient at programming, additional tools, such as integrated development environment (IDE) tools, can be used.
An IDE provides a variety of tools for the programmer, and usually includes an editor, compiler, debugging tool, and support tools. Visual Studio is an example of an IDE. It is the IDE for all of Microsoft’s programming languages, including Visual Basic, Visual C++, and Visual C#.
An interactive article on how computer software works
Video: What is Programming (2:00)
An introduction to programming basics
Article covers the history of programming and basic programming languages.
Article covers types of computer software.
- algorithmin computer programming, a sequence of actions or set of instructions used to perform a calculation, or automated reasoning tasks in a problem-solving operation.
- application softwarea category of computer programs that do something useful for the user, and interact with the operating system. It is the software that allows the user to accomplish some goal or purpose.
- compilersComputer software that programmers use to convert computer programming language or source code into another language, usually machine-readable code
- debuggerAlso Debugging tool, is software that tests and repairs computer programs
- Graphical user interface (GUI) –a computer user interface that is structured with menus, icons, and folders that allows users to interact with the computer programs through point and click visual cues instead of command line. It is pronounced “gooey”.
- operating systema computer program that manages computer hardware and creates the interface between the hardware and the users and his or her additional application software
- programming languagean artificial language that provides a way for a programmer to create structured code to communicate logic in a format that can be executed by the computer hardware.
- source codethe computer programming code, written by a programmer that is converted or compiled into machine-readable code
License and Citations
Authored and curated by Stacy Zemke M.S.K.M. for The TEL Library. CC BY NC SA
Adapted Content :
- Title: Information Systems for Business and Beyond. Author: David T. Bourgeois Source: PressBooks. License: CC BY 2.0
- Title: Information Systems. Author: Richard T. Watson Source: Global Text Project. License: CC BY 2.0
|Mixer Audio Entertainment Music Mp3 Dj Device||WerbeFabrik||Pixabay||CC 0|
|computer hardware and software layers||David T. Bourgeois||David T. Bourgeois||CC BY 2.0|
|Apple Mac SE||Nostalgia Nerd||Flickr||CC BY 2.0|
|Computer Keyboard Electronics Modern Technology||StockSnap||Pixabay||CC 0|