programming-languages

“A programming language is like a natural, human language in that it favors certain metaphors, images, and ways of thinking” Seymour Papert

In this section we will explain what is programming language, computer’s main language, and what is a higher level language and why do we need them.

We use language to communicate with each other. It’s basically the medium of communication.

If you go to another country that uses a language different than yours, you need to either learn their language or find someone who can speak yours if you want to have a successful communication.

This is true in the world of computers as well.

Computers don’t speak in English or any other language known to human beings.

They have only one language and that’s known as binary or 0s and 1s!

For example the sentence “Hello World” in the computer’s language is equal to: 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100

Confusing right? Well for us as human being, yes it is confusing, but for computers this is the only language they understand and are working with.

This language is called binary and that’s the language of computers.

Because of the level of difficulty of this language, if you’ve asked to write a program via this language, you’d probably give up in the first place and left the programming all together!

For this reason, different engineers and designers of computers came together and started to create different types of languages something that is easier for developers to read and learn. These types of languages are known as higher-level language and a human being can learn and use it easily compared to the binary-language.

Some of these languages are: C, C++, Java, C#, PHP, Python and JavaScript etc.

Each of these languages uses different syntax and they are good tools for creating applications of different purposes.

For example if you want to build a webpage you can use JavaScript because it provides a set of services and functionalities that serve well when it comes to building webpages.

Or if you want to build an application and the speed of instruction-execution is very important and also you don’t have enough storage space (like just a few megabytes or so) the languages like C and C++ are of perfect choices.

We as developers use these languages and the functionalities they provide to build our own application.

The bottom line is that, these languages are closer to English syntax which help developers to learn and start to use them in their applications faster.

For example if you want to tell computer to print “Hello World” to the output via the C programming language, you can write a code like this:

void hello(void) {
printf("Hello, World!n");
}

Well the code above might not be as intuitive as you might expected from a programming language but I’m sure you’re agree with me that this line of code is easier to understand than the computer’s binary-language!

Now that you know what a higher-level language is and why do we need them, the million dollar question is:

A computer can only work with 0s and 1s, if this is true, then how can we write an application via a higher level language like C but still a computer can run that application?

Well I’m glad you asked this question! But to answer this question, we shall go to the Compilers-and-interpreters section which is the key answer to this question.