Let’s say we have a row of eight switches and we decide that certain combinations of off and on mean something. We could decide that they represent the letters and numbers of the alphabet, or the individual dots (called pixels) on a screen. Now imagine we could turn these switches off and on when we zapped them with a bit of electricity. This is called a transistor.
We find that when we arrange these switches into groups that we can make them do maths or simple logical operations by chaining them together in different ways. We use large banks (billions) of switches to represent things like numbers. It’s a good thing for us these switches are very small.
Once we’ve got a lot of the basic math and logical operations covered we build the switches into groups that do certain instructions like “write this number onto this other group of switches” or “send the numbers in switch group A to switch group B”. This is the CPU of the computer and those instructions are called opcodes. We use them as the fundamental building blocks of software.
We then build dedicated hardware to connect keyboard and screens to the computer and we add more opcodes that let us electrically control these things.
Opcodes are nice but it can be a lot to remember, so we build software that represents common use cases in words that are easy to understand. We bundle together all the opcodes required to print some text to the screen and we call it “print”. This is a programming language. We need some software called a compiler to turn the human readable instructions back into opcodes. People design ways to store these programs even when the power is turned off, first cards and tape with holes in them to represent the switch positions, then magnetic media like floppy disks or hard disks.
From here people use the programming language to do all sorts of things. We design a standard interfaces that let people design their own hardware and connect it to the computer and control it. From here we get mice and internet connectivity and graphics cards.
From there it snowballs and people make all sorts of things. The story of the modern computer is a story of incremental change with many people building on the work of others. We started with as box with some flashing lights on it and ended up with smartphones over the course of 40 – 50 years.
Latest Answers