hi this is Anil from learning light and
in this video we are going to talk about
the computer computer programming and
the types of programming languages a
computer is a general-purpose machine
which can perform many computational
tasks now the modern day computers that
we have they can perform billions are
trillions of calculations within a
fraction of second now the thing is
these computers they can't really do
anything on their own so for a computer
to do something one has to give the
instructions to it and these
instructions will contain step-by-step
information to perform a specific task
and these instructions are called as
program now the person who is gonna
write these instructions or the program
is called as the programmer and here the
programmer will write the instruction or
the program and the computer will
execute that or computer will work on
that instructions now the computers that
we have they contain a lot of programs
in them there are some programs which
will manage the computer hardware
resources and they are called as the
system programs and there are some
programs which will provide specific
functionality to a user for example the
notepad web browser music player video
player and all these types of programs
are called as the application programs
now we know that we need to give
instructions to the computer so that the
computer can work on it
now the thing is how we can give the
instructions to the computer or in which
language we can give the instructions to
the computer
now since this computer is a machine how
we can communicate with this machine
now the language in which these
instructions are written or the language
in which this program is written is
called as the programming language now
there are several types of programming
languages and we're going to see the
details about them now you guys may
probably
that the computers can only understand
the binary language now this binary
language has only two values 0 and 1 so
in this binary language whatever you
want to say has to be in the form of
this 0 and 1 now here these computers
are built in such a way that they can
understand they can recognize the
pattern of these zeros and 1 and then
they can work on it accordingly now why
we have built the computers to
understand this binary language that is
because this binary language which has
only two values is easy to create in the
hardware level for example if we have a
wire and if the current is flowing
through this wire then we can say it is
1 if the current is not flowing then we
can say it is 0 so in general we can say
that one stands for something which
exits and 0 stands for something which
doesn't exist so since this binary
language is easy to create in the
hardware level so the computer is built
in the hardware level to recognize this
pattern of 0 and 1 and while building
the computer for a specific pattern of 0
and 1 a specific set of operations are
defined so when the computer will see a
specific pattern of 0 & 1 it knows what
it has to do so now the computers can
understand this binary language and this
binary language which the computers
understand are also called as the
machine language now let's see the types
of programming languages available now
in this modern day we have a lot of
programming languages available so let's
take a look at the types of programming
languages so the first type of
programming language or the language in
which we can communicate with the
computer is the language which the
computer understands now all of you know
that these computers can understand this
binary language or the machine language
which is the combination of zeros
once so the first type of programming
languages is the machine level language
and in this machine level language we
have the instruction in the form of 0 &
1 so whatever you want to say has to be
in the form of 0 & 1 and since the
computers are built in such a way that
they can recognize these zeros and 1 and
perform some specific operation on that
combination of zeros and ones you know
we can communicate with this computer in
this language now the problem with this
machine level language is in order to
program in this machine level language
one has to know everything about the
computer so here the programmer is
directly dealing with the hardware level
so he is directly working on the memory
and the data so the programmer needs to
know everything about the computer the
computer processor the computer
architecture everything about that he
has to know and that's why this machine
level language is a bit difficult to
learn and also think about this let's
say you want to write a program in the
machine level language or you want to
give instructions to the computer in the
machine level language and your program
consists of thousand lines all your
instruction will contain this 0 and 1
and this combination of the zeros and
ones first of all it is difficult to
write the program and also if you make
some mistakes in your program then it is
difficult to spot and because of all
this a normal guy can't really learn the
programming easily so to solve these
kind of problems
another type of programming languages
were invented and they are called as the
assembly level language in this assembly
level language instead of that zeros and
ones combination pneumonic or the
symbolic codes were introduced for
example if the programmer has to write
an instruction let's say he wants to add
the numbers 5 and 6 then in the Machine
level language it has to be in the form
of the zeros and ones so less
this is gonna be the instruction to add
the numbers five and six so in the
machine level language it will look like
this but in the assembly level language
mnemonic words were used and the
programmer could write add five six so a
lot of pneumonic or the symbolic codes
were used and the programmer could write
the program in this way so it was a lot
more human readable format the
programmer can understand the code just
by looking at it and it was a lot easier
to code than the machine level language
so now the thing is the source code or
the program returned in this assembly
level language by using this mnemonic or
the symbolic codes cannot be directly
executed in this computer that is
because this computer can only
understand the machine language so what
we have to do it is we have to convert
the code which is written in the
assembly level language to machine level
language so that the computer can
understand it and execute it so the
program returned in the assembly level
language needs to be converted to the
machine level language and to convert
that a program was used and that
programmer is called as the assembler so
this assembler will convert the code
returned in the assembly level language
to machine level language now this
assembly level language was lot more
easy to learn and someone can learn the
programming a lot more easily than the
machine level language but this assembly
level language also had these same
difficulties although it was a lot easy
to write the programs than the machine
level language in assembly level
language if the program size increases
then again it is difficult to spot the
errors and also the code returned in the
assembly level language was also
computer architecture dependent so the
code return for one type of computer
cannot be executed in another type of
computer which has different
architecture so again to solve these
kind of problems and new types of
languages where inventory
so that a lot more people can come and
write the programs and that type of
programming languages are called as the
higher-level languages the higher-level
languages are designed in such a way
that they are very easy for a beginner
to learn and they were very close to the
human readable language for example in
this higher level language one could
write the instruction to add five and
six like this so this five plus six is a
lot more similar to the human language
so just by looking at the code one can
understand what we are trying to do and
since these higher-level languages were
a lot more easy to learn many people
started learning computer programming
and started creating lot more programs
now again the thing is the program
returned in the high-level language
cannot be directly executed in the
computer that is because the computer
can only understand the machine language
which can contain zero and one but the
high-level language is very close to the
human languages so we have to convert
the program which is written in the
high-level language to machine language
which the computers can understand and
execute so for this high-level languages
there are two ways in which we can
convert the source code from high-level
language to machine level language and
executed and the two methods which were
used to convert the high level language
program to machine level language one
was the compilation method where a
program called compiler was used this is
the compilation method another method is
called as the interpretation and for
this interpretation method another type
of program called as interpreter was
used and we will see the details of this
compilation and interpretation method a
bit later but here just remember that
although these are two different methods
what they do is they convert the program
which is returned in the high-level
language
to machine level language which the
computers can understand and execute now
here this machine level language and the
assembly level language they are called
as the lower level languages because
while writing the programs in this
machine and assembly level language the
programmer could easily access the
computer memory and directly work with
the data but with the most of these high
level languages the programmers can't
directly access the memory and the work
with the data but there are some
languages in the high-level language
type which allow the programmer to work
with the computer memory and the data
and they are called as the middle level
languages and this middle level
languages they provide all the features
of the high level languages and also
they allow the programmer to work with
the computer memory and data directly
and since these languages provide the
feature of the lower level language and
also the high level language they are
called as the middle level languages and
we have the languages like C and C++
these are all the middle level languages
because they allow the programmer to
work with the computer memory and data
and also they provide all the features
of this high level language and in the
high level languages we have Java
c-sharp Python etc this machine level
language which is very close to the
machine or you know this language the
computer directly understand it executes
much faster than all these languages so
the execution speed of this machine
language is very high and after this
machine level language we have the
assembly languages and their execution
speed is better than the high level
languages but a bit slower than the
machine level language and then we have
the high level languages so now as I
said before in this high level languages
we can convert the code from high level
language to machine code in two
different ways
one is the compilation method another
one is the interpretation method let's
see this compilation and
a petition matter in detail so first CD
compilation so in the compilation method
a program called compiler is used and
this compiler will take the high-level
language program and it will convert
that to the Machine language and this
process is called as the compilation
method and here what happens is this
compiler will read the high level
language program let's say this is the
high level language program it will read
this program and it will convert that to
the Machine language it will convert
this entire program to machine language
and then this machine language code will
be executed so that thing is compiler
will convert entire program which is
written in the high-level language to
machine level language and then that
machine level language code will be
executed now let's take a look at this
interpretation method so here also we
will be converting the program return in
the high-level language to the machine
level language and then executing that
and the for that purpose we will be
using a program called as the
interpreter and this process is called
as the interpretation so the process of
converting the high level language
program to machine language by using the
program interpreter is called as the
interpretation method now here what
happens is let's say this is the source
code or the program returned in the
high-level language and this interpreter
what it does is first it will read the
first line of this source code of the
program which is in the high-level
language and then it will convert that
to the machine code and then it will
execute it immediately and after that it
will go to the next line of the
high-level language program it will read
that it will convert that code and then
it will execute it immediately and then
it will go to the third line
and then again it will convert that
court and then it will execute it so in
the compilation process the entire
program which was written in the
high-level language was read first then
it was converted to machine level
language and then that entire program
was executed at once but with the
interpretation method the interpreter
will read the program which is in the
high level language line-by-line it and
it will convert and execute each line
immediately at a time and this is how
the compiler and interpreter work now
there are many languages in the high
level language type and in that
languages some follow the compilation
method and some follow the
interpretation method the languages
which follow the compilation method are
called as the compiled languages and for
example we have C C++ etc these are all
the compiled languages where the
compilation method is used to convert
the program which is written in these
languages to the machine language and
the high level languages which follow
the interpretation method are called as
the interpreted languages for example we
have Python and this Python is an
interpreted language all right this is
it guys this is about the computers
computer programming types of
programming languages compilation and
the interpretation method and I really
hope that you guys have learned
something from this video and if you
like this video then give a thumbs up
and if you don't like it then give a
thumbs down and also share your opinion
about this video what do you think about
it and if you think that this video will
help some of your friends then do share
this video with them and also you can
subscribe to our channel if you want to
watch more tutorials like this and if
you subscribe to our channel then when I
upload a new video you'll be get
notified immediately so thank you for
watching this video and I'll see you in
the next tutorial