An introduction to software

'Software' is the term we give to the instructions that programmers write to make the hardware (the pieces of computer equipment we can touch) do things for us. The instructions might control how a piece of hardware works or might allow us to play a game. A collection of instructions is known as a 'program'.

ScratchYou will certainly be getting experience of writing programs whilst at school. You can write programs in quite a few different ways. One way is using a graphical interface to drag and connect blocks of useful instructions together. If you have used Scratch, then you have used this type of method of programming. Another graphical method of programming is Logicator. This lets you construct flowcharts to control systems but behind each flowchart is programming code.Logicator

Graphical methods of programming are a great way to get introduced to programming but they are not anywhere near as powerful as languages which use written instructions. One great language that a lot of people use to learn how to program is called Python but there are many other languages you can use for example C, C++, BASIC, PASCAL, FORTRAN, PHP, ADA and so on. Python is (in my opinion) the best language to learn by far.


When programmers write programs, they can very broadly be for two purposes. The first is to write a program for people to do a useful job for them, which they might have to do anyway if computers weren't invented. For example, they might write a program to write documents, called a word processor, or for number calculations, called a calculator, or for design work. They might write a games program, a program to let us listen to music or watch video. We give all of these types of programs a name - they are 'applications'. The second type of program is more about managing and controlling hardware, for example, the graphics card inside your computer, the motherboard, the mouse, a whole computer working together or a network of interconnected computers working together. These types of programs we call 'systems software'. One very important piece of systems software that deserves a mention now is a computer's 'operating system'. This is the program that controls and manages the whole computer for you, to allow you to actually use it. You may be very familiar with operating systems. Windows is an example as is Linux and iOS. We will explore operating systems in more detail in another section.

You may come across the terms 'open source software' and 'proprietary software' quite a lot. Open source software is software that you are allowed to legally download, use, copy, modify and give to your friends and it won't cost you anything. When you download the program, you usually can get easy access to the actual program code as well. Proprietary software, on the other hand, is different. You have to buy the software but what you are buying is a licence to use the software. You don't get the actual program code, you aren't allowed to change it, copy it or share it with friends. You own a licence to use the software, not the software itself. 

Q1. Define hardware and software.
Q2. Software can be divided into two broad types. What are they?
Q3. What does an operating system do?
Q4. Give three examples of operating systems.
Q5. Write down the names of five programming languages. 
Q6. What is meant by 'open source software' and 'proprietary software'?

Look up Python 3 and BBC BASIC tutorials on the Internet. For each programming language, see if you can find out how to run a program called 'Hello world'. This is traditionally the very first program that students learning to program have to write. It's actually a very simple program (just 1 or 2 lines long) but it gets everyone started with whatever language they are learning. If you are feeling really cleaver, you could see how many languages you can write the 'Hello world' program in.