You are on page 1of 3

Programming Languages

A programming language is an artificial language that is designed


to communicate instructions to a machine. They can be used to
create programs for rockets, computers, or even smart TVs.
A program is a list of instructions, written in a programming
language, and It is used to control the behavior of a machine.
There are many different programming languages out there. The
most popular ones are Python, Java, and C. Of course, the
programming languages are not all the same. In fact, they can be
divided into two different types based on their amount of
abstraction. They can be: Low-level languages or High-level
languages.

Low-level languages provide little or no abstraction of


programming concepts and are very close to hardware. For these
reasons, the programs written in low-level languages are directly
executable without any compiler or interpreter. They are also very
efficient with memory allocation; therefore, they are great for writing
operating systems or firmware. They are however very difficult to
use, and the development time of a project is longer.
They are of two types: Machine language and Assembly
language.

The Machine language can directly run on the CPU (Central


Processing Unit), but they are tedious and error prone to write
because their code is a series of bits. Lastly, they are not portable
which means that the code is specific for one type of machine.

Assembly language is less prone to error than the machine


language, so the coding is easier. The reason for that is because It
replaces the series of bits with English instructions. Another
curiosity is that each Assembly written code is specific for a
particular computer architecture and operating system.
On the other hand, the high-level languages are closer to human
language, and because they have a high level of abstraction, their
code is easier to read, write and maintain. In fact, if you write in a
high-level language you do not have to think any more about things
like registers or memory management. On top of that, they can rely
on functions, objects, garbage collectors, and other abstractions,
this makes the process of developing a program much simpler.

Lastly, to work properly, High-level languages must use a compiler


and an interpreter.
The Compiler translates the high-level instructions into machine
language, and It generates an executable file.
While the interpreter translates high level languages into an
intermediate code and each line is executed individually.
Also, an interpreter runs slowly, starts right away, and lets you see
how things are going, while a compiler takes extra preparation time
but then the program will run very quickly and efficiently.
To understand furthermore the difference between the two, we can
look at the words themselves.
INTER means BETWEEN, so we can understand that the
interpreter is always between the program and the computer.
On the other hand, TO COMPILE means TO PILE TOGHETER, in
fact, a compiler piles together the entire program and translates the
whole thing all at once.

The High-level languages are of two types: Procedural and Object


Oriented.

In Procedural languages the program is written as a sequence of


instructions. For example, the sequence of steps we follow when
we wake up. Also, they follow a top-down approach with a more
focus on functions.
In Procedural languages the Data is not very secure and, the code
is interdependent which makes it difficult to reuse the code.
While, in Object oriented languages the program is an interaction
of functions between participating objects. They follow a bottom-up
approach with a more focus on data, and also, while using them, it
is easier to wrap data and functions in a class which helps building
secure programs. Lastly, the code is modular, and it can be reused.

You might also like