Software Applications
![]() |
Software Applications are arguably the reason for IT's existence. Applications ultimately add value to an organisation as it is these which provide the tools for end users to carry out their daily tasks - to do their jobs. However, applications need an infrastructure to run on - meaning IT as a whole is critical to most organisations' success. Software is also used within the IT infrastructure to facilitate its own operations. There is even a class of software called "middle-ware" which enables different software applications to interact with each other to provide solutions which can encompass a number of software vendor products. |
Software Defined
Prior to computers, electronic devices were designed for a specific function. Early washing machines are an example of an electric and mechanical system which carries out a specific role using timers, temperature control and pre-determined wash cycles. The advent of the microprocessor in the early 1970's heralded a new way of doing things. Now, systems could be designed with a degree of intelligence using software to determine the system's functionality. They could respond to inputs from outside the system (like a button being pressed or a temperature sensor reaching a threshold), make decisions based on a multitude of parameters and react accordingly. Early processors were used mainly to control systems - like washing machines.
As processors became more powerful, so the number of inputs and outputs could increase and the speed at which complex decisions could be made expanded the potential roles for this type of system. In the late 1970's, the first home computers came to market. The key characteristic of a computer was that it had inputs designed for humans to interact with (some sort of keyboard plus some sort of graphics display). The thing which really set these systems apart though was that they did not have a specific purpose at all. In fact, many early home computers were really designed for computer hobbyists. Systems which they could programme themselves. In order for this to appeal to a wide audience, these computers had to be loaded with a programming language which could bridge the divide between humans and microprocessors such that users could get some tangible results from their endeavours relatively quickly. The most popular computer language during this time was called "Basic".
Software has evolved enormously since these early days but the underlying system structure remains the same:
Hardware
The core hardware inside any computer will consist of a microprocessor (the brains), some memory (to allow data to be manipulated) and some connectivity to the outside world (inputs and outputs such as keyboard, monitor and mouse). Within PC's, other devices have become core such as networking, hard drives (for long term, high capacity data retention), USB ports etc.
Operating System
This is a layer of software which is tightly coupled to the hardware and includes "drivers" which communicate with the specific hardware components within the system. The most common example of an operating system for PC's is Microsoft Windows but there are others - most notably Linux. Linux is described as "open source" because the basic code is not owned by a company, rather it is updated by a community of developers and the code is openly shared to the world. In both these cases, the operating system has drivers specific to the hardware and then presents a common interface upwards to the next layer of software - "application software".
Application Software
This is the software which interacts directly with users (in the case of a PC) and defines the functionality that users can take advantage of. Word processors, spreadsheets, video editing, data backup, e-mail - these are all examples of applications. As hinted at earlier, applications must reside on top of an operating system. Applications must be compiled for a particular operating system - meaning the choice of operating system can impact what applications may be available. Microsoft (who clearly provide a lot of applications as well as the operating system) have managed to create a platform which is almost ubiquitous. PC's from different manufacturers may have different hardware specifications but because they adhere to the same basic architecture (defined by Intel) and because Microsoft Windows deals with these differences and presents a common interface up to applications, software designed to run on Windows should run on pretty much any PC.
Incidentally, the same 3 level architecture described above applies to nearly all general purpose computers. So for instance, Apple Macintosh systems have underlying hardware, an operating system and applications. They are just designed differently to those of the PC.
Programming Software
In order for developers to create applications, they need to use programming software. This software is often tied to a particular programming language. There are many languages and many programming software options - some of which lend themselves to particular types of application. "Basic", which we mentioned earlier as the first mass market programming language, remarkably is still around although it has evolved massively. Microsoft have a version of this built into many Office Applications (called Visual Basic) to provide users with ways to customise what those applications can do. Unless you are interested in computer programming - you can quite happily avoid programming software - just be aware that someone somewhere has used this to produce the applications you do use day to day.

