Hi I’m Kushank Arora and I will take this session. In this session, we will talk a lot about programming, and a little about C! So if you are aware of “programming” and capabilities of “C”, you can skip this session! But it is a must, if you are a toddler in programming, and want to know that why are you learning C. This session may also give you a reason to learn C! So, our first topic would be, What is Programming and why programming? If I have a manufacturing firm, and I need to get some work done! Then, I ask my employee to do that particular work! then the technical head writes a proper procedure regarding how that should be done And accordingly, the required tasks are done so that the required work is completed. And at last, Boss! The task is done. So now, where did programming come in this scenario? There was no programming in this example, as there was no role of computer. If the same work had to be done by the computer, then what would have been the situation? See Again, the boss asks to do the same work but now the technical head would ask the assistance of the computer He will ask the computer “You do this” But it is computer,
It will reply in its own language and what is that, something garbage to the technical head But technical head tries again
In the hope that it will now do it So it says again, computer u have to do this But the computer is again saying something garbage And what happens next, boss fires the employee So here comes programming.
Programming is when u want a computer to do something for you, and you can make him understand the task in the language of the computer! Meaning talk to the computer in computer’s language. Like this, Now the person tells the computer to “do the work” in the form of 0/1 and then the computer replies in the right manner, and my task is done, and again Boss! The task is done! And this is what programming is! You have to make the computer understand that what you need to do! So, According to a wikipedia, Computer programming is a process that leads from an original formulation of a computing problem to executable computer programs. This is a definition with too many heavy words, but we will try to understand it as we go forward in this session. Next topic is What is C? We just saw that for programming, we need to talk to the computer in its language. So, what is the language of computer? It is some combination of 0s and 1s And that is called “Machine Language”,
and it is not easy because you have to remember the meaning for 0’s and 1s Since it is not easy, so, we got some peeps who would help us.. and those are called “Assemblers”
And the language is called assembly language! It converts our “constrained” English into the form of 0/1. That is, If I say, something like “Do! Work!” it will convert “do” to something of the form 0101.. and “work” to 1010.. So computer could understand it and it replies in the right manner and Our work is done! But as our problem gets complex, working with the help of assembler gets difficult. Then comes High-level language, like C, C++! These are much easier than assembly language. That’s why now a days, they are used heavily. So, the conclusion so far is, The language closest to computer is Machine Language, i.e., one with 0s and 1s. Then we have low-level language, called Assembly Language, i.e., which uses mnemonics to talk with computer. Then we have high-level languages, e.g., C, C++, Java, Python, etc Some people tag C as a middle – level language, because you can do many low-level tasks using C and even use many functionalities of high-level language! So, now we talk about C, what is C?
C is a high-level language, used for programming! It is developed by Dennis Ritchie! And this is the only history part of our whole course! The person in the slide is Dennis Ritchie The next topic is Why C? Earlier we talked about assembly language and the machine language! We have come forward from machine to assembly language and then to languages like C and today, there are many more languages in the market like C++, Java, Python, etc. Then why not to learn those languages directly, Rather than learning C? Because, C maaa hai! hai! I am not joking, in computer field, we call C, the mother of many languages, because many languages have syntax common with C, and C has the potential to make you understand in depth of how does even a language work! Most of the compilers, JVMs, and Kernels used today are written in C or C++. If you know C, it could be very easy for you to switch in any other language! C teaches you the basics, which would be generally required in any other language! It is language with the idea of “write once execute many”, i.e., write program once and execute it on all kinds of hardware. Even C is the top 2nd language based on the TIOBE index, which is a very good rank! A more reason in favour of C is, C is a very fast language! And another, the most important reason is, I also love C!