The field of coding is constantly evolving to keep up with all of the new applications, computers and digital devices that are developed every year. Hundreds of programming languages now exist, with new ones emerging all the time.
Kotlin, Rust and Julia. No, not the names of pet dogs. These three are just a tiny example of the number of programming languages available - today, there are over 250 of them.
So why do we need so many ways to communicate with machines? Why won’t just one do?
The reason is that it’s much quicker to communicate in languages that are built for a specific task, rather than to use a generic one for everything. And as computer programming has evolved, so have the ways that coders build programmes.
It’s similar to the specialised technical languages that have developed in different industries. Doctors need specific terms to talk precisely about patients and medical conditions, just as engineers have a specific language to communicate about design and materials.
Let’s take a look at the fundamentals of coding in more detail and some of its most common applications.
The most basic language that computers understand is called ‘binary’. You might have heard this term before. Binary code is made up of ones and zeros, and these are the only characters that the language uses. It’s easy for computers to understand but incredibly difficult for humans. So not even the best coders write programs using it. Instead, they write in their preferred programming language and it gets converted into something a machine understands.
We can categorise different programing languages using something called ‘levels of abstraction’. The lower the level of abstraction, the closer a language is to the ones and zeros of binary, which is more difficult for humans to master. And the higher the level of abstraction, the further away it is from binary, and the easier the language generally is for us humans to use and work with.
Let’s look at an analogy that will help us to understand what abstraction is.
Imagine you’re designing a house. It’s much faster and easier to draw a basic sketch, outlining the shape, the materials, and the fittings, than it is to go into detail about every nail, brick, and plank of wood. As long as you communicate the essence of that house, the architects and builders will fill in the gaps.
The basic sketch is equivalent to ‘high-abstraction’, or a high-level programming language. It’s still the house, but a simplified representation of it. A high-resolution model or a detailed set of blueprints for the house would be the equivalent of ‘low-abstraction’, or a low-level programming language. While this offers a much more comprehensive representation, it’s also far harder and more labour-intensive to design.
Let’s look at some languages at a low-level of abstraction:
‘C’ and ‘Assembly’: Computers can understand them relatively easily. This means they can translate the code very quickly and they don't need much memory power to run programs. This makes ‘C’ and ‘Assembly’ perfect for building smaller computers that tell devices such as cars, digital watches, thermostats and traffic lights how to work.
Languages like “C++” and “Swift” are written at a higher level of abstraction. These are easier for people to work with, but a little resource intensive for machines to read. Coders use these languages to build things like the mobile, tablet, and desktop apps that you use on a daily basis. These languages are really versatile as they need to perform lots of different tasks.
Managing data is another important application of coding, as the amount of data we produce on the planet increases. Coders use higher-level languages like “SQL” (pronounced “sequel”) to capture, store, analyse and sort that data in lots of different ways.
If you look at how a social network application is coded, then behind the photos, updates, and likes is a huge database that securely stores data from its millions of users. By manipulating the data with SQL, social networks can recommend friends, target ads, and show you relevant content.
But, the most commonly used programming language in the world is "JavaScript". Whenever you're on a web page and you see a game, interactive chart, or lots of moving elements, you're seeing JavaScript at work. In fact, 95% of the 10 million most popular web pages use it. JavaScript is a 'scripting' programming language, which is a family of languages designed to be as friendly as possible for coders.
Now that we’ve explored some of the applications of code, take some time to research the computer programs you use on a daily basis. Put on your detective hat and search online to see which languages were used to build them, and what’s happening behind the scenes.
To wrap up, there are many programming languages out there, each used to achieve different goals. A mix of low, mid and high level languages enable coders to write for a range of purposes, whether it’s C and Assembly to program smaller computers and devices, or SQL and JavaScript to manage databases, and JavaScript for bringing interactivity to websites.
Regardless of the language, the goal of programming is always the same: to instruct a computer to complete a specific task that will help you to do things faster, easier, and more effectively.