Code is all around us...

# Coding: speak my language

## Essentials

• Coding is a set of precise step-by-step instructions that a computer can understand
• There are many different coding ‘languages’ to suit different purposes
• Just about everything with a plug or a battery uses some form of code

Coding is essential to modern life. It’s all around us—when you post a Facebook update, swipe your debit card or use your car GPS System—it’s all thanks to specific code that has been programmed for that purpose.

Without it, we wouldn’t have our computers, smart phones, microwaves, washing machines, electronics or almost any of the other modern technologies we often take for granted.

Video: What is coding? (Daily Tekk / YouTube). View video details.

## What is coding?

We’ve all heard of coding, seen the IT whizz fix a problem with it, and maybe even considered learning how to do it ourselves. But what exactly is it?

Coding is a set of precise instructions that tell a computer exactly what we want it to do. A complete set of instructions is called a program. But computers don’t speak English (or German, Spanish any other human language), so we have to provide these instructions and programs in a language they can understand.

Computers can perform some amazing feats, but at heart they’re really very simple. So simple, in fact, they can only understand two distinct types of data: on and off. If you think of a computer as a collection of on/off switches, then all the great things they can do is merely a result of the different on/off combinations of these switches (also known as transistors).

Computers work in binary code, which is a series of 1s and 0s. You can think of each 1 or 0 as representing one transistor. Binary code is assembled into bytes, groups of 8 digits representing 8 transistors. For example 00110010.  Today’s modern computers contain hundreds of millions, even billions of transistors, resulting in mind-bogglingly large numbers of possible combinations.

Our human brains are not so good at reading binary. If we tried to create a program in pure binary we would need to type out millions of 1s and 0s—all in the correct order. This is obviously not possible, and it’s where coding languages come in.

There are hundreds of different programming languages, each created to suit a specific purpose. For example, the programming language ‘C++’ is often used for coding graphics-heavy applications such as games, while Javascript is generally used for the internet.

These languages are classified as either low, intermediate or high-level.

Low Level languages are closer to binary code, and are therefore much more complicated to write. The advantage of low-level languages is they are often more efficient/faster to run, more powerful, and use less of the computer’s memory. However, they take longer to write and require a deep knowledge of the internal structure of computer hardware. They are also often machine-specific.

Intermediate languages are one step removed from low level languages. They use abbreviation and simple words instead of numbers.

High-level languages are far more popular. They more closely resemble human language and are therefore easier to learn, write and work with. They can generally be used across multiple computer operating systems, therefore cutting down programming time.

The drawback of high-level languages is they must be translated into machine language (binary) by the computer’s compiler before it can be understood and acted on. So while the program might be faster to write, it is slower to execute.

Despite this, almost all of the popular programming languages used today are high-level.

An example of the HTML code used on this webpage to place the image below in the right spot, including its caption, is:

<figure><img alt="A collection of computer programming manuals." src="/sites/default/files/images/coding%20books%20resized.jpg " />
<figcaption>A collection of computer programming manuals. Image source: <a href="https://flic.kr/p/9k6cM" target="_blank">Michael Coťe/ Flickr</a>.</figcaption>
</figure>

And if you're reading this on a computer, right click on the screen and select 'View page source' and you'll be able to scroll through the 679 lines of code that make up this webpage.

Computers can’t think for themselves (yet!), and so will follow all instructions precisely. For this reason, you have to be absolutely sure that the code you write is clear and accurate. Even very minor errors in code can result in major ‘breaks’ in the technology, or systems not running correctly.

## Why should I learn to code?

Anyone who is smart and keen can code.Chris Monk, Head of Asia-Pacific for Decoded

If you’re intimidated by the thought of computer code and think you could never write it yourself … think again. Learning to code, like anything else, is a skill that can be learned. Here’s just a few reasons why you should consider jumping on board the coding band-wagon.

• We have more technology in our lives than ever before. Learning to code will help you to be an active participant of the tech, able to understand and even manipulate it, rather than just be a passive consumer.
• Analysts predict the economy will need an additional 100,000 new Information Communication Technology (ICT) workers by 2021.  If you know how to code, you’ll be much more employable. There are many different types of coding too – so you’ll be able to find something to suit your interests, from coding databases to making websites, creating apps and writing software.
• Learning to code can help you to become a better problem solver. Chris Monk, a programmer, says "Computers don't do complex things, they just do simple things really, really fast … Coding teaches you to break down a challenge into simple steps with the simple logic of "if this, then that".’
• As the digital landscape continues to evolve, coding is beginning to be taught in many schools.  Kids learn quickly and getting young people into coding early is the best way to equip them with the skills they will need to succeed in the new digital economy.

Technology is all around us, and within that technology, is code. It influences almost every aspect of our lives—from writing emails to transferring money, adjusting our washing machine cycles to watching TV. If we want to remain an active, important part of our increasingly digital world, we need to learn how it works and how we can influence it. Learning to code is a great way to do that.