Five years ago, I was running a restaurant in London and would have been stumped if somebody had asked me to explain software.
It’s a word we’re all familiar with and we use it every day but it’s hard to define.
Fast forward to today and, after training to become a coder, I’ve joined the teaching team at CodeClan, Scotland’s first digital skills academy, and I’m in a much better position to answer that question.
So, what is software?
By definition, software is a set of instructions needed for a computer to run. Anything installed electronically can be regarded as software and without it computers and related devices would be useless.
In the early days of computing, the only way to enter data into a computer was by flicking switches or by feeding in punched cards or punched paper tape.
Today, computer programmers or ‘coders’ are responsible for writing the instructions that tell our apps and devices what to do.
Programmers write commands called ‘source codes’, which are understandable to humans but not to computers.
As a result all source codes are put through a translator, which converts the programme code into a language called ‘binary’ that can be understood by the computer’s Central Processing Unit.
The CPU is often referred to as the ‘brains’ of the computer as it helps to process programme instructions.
Binary is made up of 0’s and 1’s and is the smallest digit in the computing world. However, it is a language that is complicated and time consuming for humans to understand. In order to simplify binary, computer programmers use ‘hexadecimal’, a system that uses 16 characters from 0-9 and A-F with each hex digit representing a 4-bit binary digit.
Software acts as a translator between humans and binary, making it possible for the hardware to understand the instructions being fed into it. The end result of which is an executable computer programme.
Types of software
Nowadays many computers and related devices come with software already installed. However, users can also install other software that allows them to perform a task not already available on their machine.
The two most common types of software that can be installed on computers are ‘application software’ and ‘systems software’.
Applications software is often referred to as productivity programmes or ‘end-user’ programmes. These are the programmes that do ‘real work’ for users and enable them to complete tasks such as creating documents, spreadsheets or databases.
System software includes programmes that are dedicated to managing the computer itself, such as file management utilities and disk systems. Systems software also contains the operating system, which, as previously mentioned, enables software to run properly by interfacing with the hardware and other software.
Many experts believe that the Internet of Things and the software intelligence behind it will revolutionise our lives in years to come. Forget software on our computers and phones, everything from our greenhouses and heating systems to baby monitors and medication will be software enabled.
With a software explosion on the horizon it’s important that we lay the groundwork for the future today by training a new generation of coders. Their expertise and understanding will help ensure our economy keeps up with the pace of change in the world and that the digital revolution doesn’t leave Scotland behind.
Tony Goncalves is an instructor at CodeClan, Scotland’s first digital skills academy.