• What is computer programming?
  • Why do we use computer programming languages instead of an already existing and understood human language?
  • How does a computer run the programs we create?

What is computer programming?

In the simplest possible terms, computer programming is the act of writing software. When we say writing software (coding, scripting or programming), we really do mean writing. Computer programs are written into plain text documents (with no formatting or layout options), but are written using a programming language, instead of a human language such as English.

The contents of this text document are instructions explaining to the computer, the exact operations that you wish the computer to perform for you. Given the right list of instructions, useful tools and software can be created to improve our productivity, catch up with friends and family, or to help us relax after a long day at work.

Why do we use programming languages?

The purpose of a computer programming language is to define a number of syntax rules and keywords that instruct a computer how to do exactly what we want it to do.

Human languages such as English are incredibly complicated, so complicated that it's often difficult for other speakers of the same language to understand what is meant.

A programing language can be seen as a "language" in the same regards as any language spoken by people around the world. What makes programming languages different is that they are specifically designed to meet very strict requirements in order to fulfil the tasks required by it, whereas human languages evolve over centuries to best suit how we view and describe the world around us.

How does the computer run what we create?

Computers don't actually understand programming languages in the same way that we understand every day languages. A programming language allows us to accurately describe the logical behaviour we want the program the perform.

Inorder to execute a program we have developed, a compiler or interpreter must be used to translate from the chosen programming language into machine code. Machine code represents the physical voltage transitions in the computer required to execute the program.