Before we can begin to write serious programs in C, it would be interesting to find out what really is C, how it came into existence and how does it compare with other computer languages. In this section, we will briefly outline these issues.
Four important aspects of any language are the way it stores data, the way it operates upon this data, how it accomplishes input and output and how it lets you control the sequence of execution of instruction in a program. We will discuss the first three of these blocks in this section.
What is C?
C is a programming language developt at AT & T’s Bell Laboratories of USA in 1972. It was designed and written by a man named Dennis Ritchie. In the late seventies, C began to replace the more familiar languages of that time like PL/I, ALGOL, etcetera. No one pushed C. It wasn’t made the ‘offical’ Bell Labs language. Thus, without any advertisement C’s reputation spread and its pool of users grew. Ritchie seems to have been rather surprised that so many programmers preferred C to older languages like FORTRAN or PL/I, or the newer ones like Pascal and APL. But, that’s what happened.
Possibly why C seems so popular, is because it is reliable, simple and easy to use. Moreover, in an industry where newer languages tools and technologies emerge and vanish day in and day out, a language that has survived for more than 3 decades has to be really good.
An opinion that is often heard today is: “C has been already superceded by languages like C++, C# and Python, so why bother to lean C today”. I seriously beg to differ with this opinion. There are several reasons for this:
C is a Middle-Level language.
Major parts of popular operating systems like Windows, Linux and MacOS X are still written in C. This is because even today when it comes to performance (speed of execution) nothing beats C. Moreover, if one is to extend the operating system to work with new devices, one needs to write the device’s driver programs. These programs are exclusively written in C.
Many popular gaming frameworks have been built using C language.
At time you would be required to very closely interact with the hardware devices. Since C provides several language elements that make this interaction feasible without compromising the performance it is the preferred choice for the programmer.
I hope that these are very convincing reasons why you should adopt C as the first and the very important step in your quest for learning programming languages.