Hello guys and welcome to amuls academy.From
today we are going to start C Programming
series and this is the first tutorial in this
series so here today we are discussing about
the introduction part of C programming language.
Now a days computer became an essential part
of our life.In every field we will use computers.And
this computer was introduced in 19th century
by charles babbage.and this is called as computational
device or a programmable device.that is nothing
but computer cant do anything without programs.
and here program is nothing but set of instruction
that is a programmer will give instruction
to the computer and that instructions is called
as program. ok to give instruction we need
to communicate with computers for that we
need language.For example if you want to communicate
with your friends or other people you want
language right?.
In same way to give instruction or to communicate
with computers we need language and this language
is called as programming language because
this languages are used to write these programs.so
this is called as programming language.and
Different types of programming language are
present and we will discuss few.
ok here are the different types programming
language low level language middle level language
and high level language.
In the low level langauge there are two types
one is called as machine language and another
one is assembly language.and first we will
discuss about the machine language.
Computers only understand machine language.computer
is a machine right so it understands machine
language.and this machine language contains
streams of 0s and 1s so it is in the form
of binary.binary format contains only two
values right 0 and 1.so machine language contains
binary format.
Computers can recognize the electic signal
right? so if electric signal is present then
it is noted as 1 if electric signal is absent
then it is noted as 0.
So computer is a machine which can recognize
the electric signal,so if electric signal
is present then it is denoted as 1 if it is
absent then it is denoted as 0.
So this computer can understand this machine
language.alright so we can show this in a
picture here is a programmer 
and here is a system and here programmer will
write program in machine language ok it contain
0101 something like that ok now it is given
to the computer in the computer there will
be a processor it will exicute this instruction.
and here this code is different for different
processor so this is called as machine dependent
language.it is beacuse this machine code various
for different processor.
here machine easily understands machine code
so it will exicutes the instruction easily.but
we means humans need to write this code and
this is very difficult understand .because
of this other languages are developed.one
of them is assembly language.
this assembly language is similar to the machine
code and this is also called as symbolic machine
code here only diffrence is numbers are replaced
by words.
that is for example if you want to add two
numbers then in machine code we will write
something like this.ok that means it contains
only 0s and 1s.If you write same code in assembly
then we will write like this ADD and numbers,so
here we can see words are replaced by numbers.
We can show like this here is a programmer
and here is our system right? and this programmer
will write programs in assembly language that
is it contains something ADD SUB something
like that ok now we need to give this instruction
to the computer.
But the problem is computer won't understand
assembly language it only understand machine
code but here we wrote our instruction in
assembly language.so now we need to convert
this assembly language to machine code.for
example if you goto another country and you
want to communicate with the person who don't
know any other language except his local language
and you don't know that local language then
what will you do?
you will use a converter or a mediator right
to convert your language to his to do communication.
in the same way here machine won't understand
assembly language. so we need to convert this
assembly language to machine code.for that
we will use a program called assembler.
this assembler will convert this assembly
code to machine code.and then processor will
exicute that instruction.here this assembly
code also machine dependent that menas this
code will varry for different processor.
alright even though this assembly language
is quite understandable than the machine code,but
we need lot of practice to understand this
language so to make it easy for programmers
many human readable languages are developed.That
is,
Now we will discuss about the middle level
language.and example for this c c++ language
so here we can see C is a middle level language.And
this middle level language shares feature
of both high level and low level language.that
is it is human readable like high level language
and here we can control processor like low
level language.
that is it is human readable and here we can
understand how actually computer works like
in the lower level language. so before going
to C we will see the high level language.and
high level languages are more human friendly
it is human readable code and here we cant
understand how actaually computer works and
example for this is ruby python c# java.
so if we draw a picture here he is a programmer
and he will write program in the high level
language or mid level language ok now here
is our system.This machine wont understand
this high level or mid level language right.so
we need to convert this high level or mid
level language to machine code for that we
use compiler or interpreter.
so this compiler and interpreter will do same
work that is converting high or mid level
language to machine code.and here high and
mid level language are machine independent.
that is we can run our programs in any computers.as
i said compiler and interpreter will do same
work that is converting high or mid level
language to machine code.but difference is
in the way of working.in the compiler it will
convert the whole file to machine code.then
it will exicute that for example if it is
my source code or the written program then
i will give this file to the compiler then
it will generate the machine code.that is
it will convert whole file to machine code
and it will exicute that.
but In the interpreter it will convert the
code line by line.that is if it is my source
code it will check for the first line and
it will convert that to machine code then
it will exicute that.then it will check for
second line and it will convert that to machine
code and then it will exicute.so in the inetrpreter
it will convert the code line by line.
If you take general example before exam you
will ask one of your friend to explain a concept
which you are not getting so he can explain
you in two ways.first way is he can read the
whole content then he will exaplin you.so
this is compiled language.here he will take
more time to analyse the answer and less time
to explain you.so in the compiler it will
take more time to analyse but less time to
exicution.
and another way is he can read the first line
of the content and he can explian you,then
he will read the second line and explian you
.This is interpreted language where he will
take less time to analyse the answer but overall
time of explaing is more so here in the interpreter
it will take less time to analyse and more
time to exicution.ok this is about the compiled
and interpreted language.
Now we will discuss about the history of C.C
was developed in 1972 and it was developed
by dennies ritchie at bell laborataries.So
C was born at 1972 father is dennies ritchie
and it is developed in bell laborataries.
but why he named this langauge as C? what
actually C means?he named this lnaguage as
C because it derives some feature from language
B which is striped down version of BCPL language
basic combined programming language.
and after B C Comes right so he named this
language as C programming language. as we
can see this programming language was dveloped
in 1972 so it is a 30+ year old language then
why we need to learn this language.After this
langauge many high level languages are developed
then why C?
So now our question is why C? it is beacuse
first reason it is a middle level language.we
already discussed about middle level language
right it shares the property of both low level
and high level language.so by learning C we
will comes to know how actually computers
works.as well as it is human readable language.so
it is easy to understand this language.
Ok second reason is it is a compiled language.so
Just now we discussed about the compiled and
interpreted language.and compiled language
take less time for exicution.
So it is one of the reason and third reason
is it is machine independent so we can run
our code in any computers.and Fourth is if
you want to learn c++ java then there are
key concepts like polymorphism class object
inheritance in that time if you don't know
C then along with that key concepts we need
to learn the basic concepts also instead of
that you already know c then you can concentrate
only on the key concepts.
so It will become easy to learn that language.and
the fifth reason is some parts of OS like
windows linux are still written in C beacuse
coming to the performance of programming language
nothing can beats C.
ok these are very few reason to learn c programming
language there are many.ok this is about the
introduction part of C programming language.
thank you for watching don't forget to subscribe
my channel i will meet you in next class till
then take care.
