Many of us grew up without them, but most of us can't imagine our lives free of computers and smartphones helping to make things faster, easier and more efficient.
Although they seem smart, computers on their own are not actually very clever. They are however incredibly obedient and will do exactly what you want them to as long as you tell them how.
Computers speak a simple language called binary code which is comprised only of 1s and 0s. With our complex language system, humans find binary code difficult to work with.
To solve this, computer-human interface languages have been developed which help us to translate our conversational language instructions into simple binary code for computers to understand.
There are several of these translation languages around including Python, C, C++, Perl, Visual Basic, Java, Javascript, Ruby and PHP which all essentially do the same thing but are tailored to program different tasks more easily. Ruby and JavaScript are great for building web sites, Java is often used for financial trading and games like Minecraft, and as a scientist I use Python for analysing statistics from my experimental data.