Skip main navigation

Avoiding ambiguity

Avoiding ambiguity. Commands
© Coventry University. CC BY-NC 4.0

Computers are not very clever, and they don’t do very clever things. They appear to be doing clever things, however, just by doing incredibly simple things very, very fast.

How fast are we talking exactly? Well, a 3 GHz processor is doing around 3bn of these very simple things per second. Instructions like, ‘add 1 to this value’ or ‘change the current location in memory to equal this location’, for example.

Every single thing that your computer does, from displaying a web page to playing some music, is the result of a huge amount of these very simple instructions being executed very fast. This is low-level code.

Fortunately, when we write code, we don’t need to break our processes down to this level. We can write what’s called “high-level” code, which is a code designed to be more usable by humans.

However, even though we can write at a high level, our instructions still need to be translated down to a low-level version for the computer to be able to run them. There is normally a special program to do this for you, but your code needs to be unambiguous enough that it is possible to do so.

What is ambiguity?

For something to be ‘ambiguous’, it just means that there is more than one way to interpret it. Think about the sentence, ‘I saw a man with a dog on a hill with a pair of binoculars’. There are a number of ways this could be interpreted:

  • You were on a hill, with a dog, and you used binoculars to see a man
  • You saw a man who had a dog and a pair of binoculars on a hill
  • You saw a man with a dog on a hill, using a pair of binoculars

Human languages are generally very ambiguous when spoken. We as humans can cope with this because we use context, body language, and guesswork to somewhat overcome this ambiguity. Computers are not capable of doing this yet, and thus when we are writing code for a computer, we need to be very specific about what needs to happen.

In order for our high-level code to be this specific, we need a language with some very rigid rules. In data science and programming this is known as the language’s ‘syntax’, which is simply a fancy word for ‘rules’.

© Coventry University. CC BY-NC 4.0
This article is from the free online

Get ready for a Masters in Data Science and AI

Created by
FutureLearn - Learning For Life

Our purpose is to transform access to education.

We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.

We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.

Learn more about how FutureLearn is transforming access to education