An Introduction to Computer Systems: Software and Programming LanguagesOctober 8, 2021
Software is simply a series of instructions which tell a computer how to perform a specific task. In comparison to hardware, where the actual device is built and the operating system uses it to do its job, software is more hands-off. For example, a web browser does not need software to browse the Web, rather it can be configured with plugins to do specific tasks.
Many operating systems use complex software to perform many different tasks on a PC or laptop. However, the complexity of today’s technology means that new software is often incompatible with older systems. This means that users will have to reinstall the entire operating system if they want to continue using certain software features. Also, some types of software can only be run on certain computer hardware. For example, a digital camera that can only be used with certain computers (such as laptops) can only be used to take photos on those computers.
Some examples of specific tasks which can only be performed by specific software include video conferencing and email. The operating system (Vista for example) integrates webcam functionality so that a user can visually see someone else over their shoulder. Similarly, email programs have built-in search functions that allow users to find a specific message within a folder. These examples are but one example of how such software is important to the modern PC or laptop.
However, understanding computer systems means taking into account the importance of applications. There are many different types of software, each designed to perform a specific task. Some examples include games, utilities and office applications. Each application software package has a purpose, and a user must choose what type of program to use to accomplish a task. To help clarify the difference between applications and utilities, let us look at a few basic examples.
Operating systems are necessary because they control the execution of specific computer programs. Different operating systems have different features. As an example, Windows operating systems run on hardware while Macs use a virtual machine (Virtuozzo, Mac Mini, etc.) that runs on a virtual machine. Both OSes, however, use a kernel, which is an interpreter that translates instruction and data from software into an internal representation that the computer understands.
Programming languages are used to construct programs and make them run. This is why, as previously mentioned, application software is more important than application software. Because programming languages are themselves applications (for example, excel is a spreadsheet application) it makes sense to think in terms of software. To illustrate, if you wanted to build a shed in your backyard using construction software you would need to use programming languages like C++, Objective C and Unity3D. You would then download and install the appropriate C++ runtime library (many have free versions) and install the relevant Objective C runtime library to help program the shed.