December 28, 2010

About C

C language - With reference from "Let Us C"- By Yashwant Kanetkar.


C is a programming language developed at AT & T's Bell Laboratories of USA in 1972. Dennis Ritchie had designed and written it. In the late seventies no one was pushing C, it wasn't even the official Bell Labs language. C language's reputation and popularity grew and spread among many users. 


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 three decades has to be really good.

An opinion that is often heard today is - "C has been already superseded by languages like C++, C# and Java, so why bother to learn C today". This opinion has to be differed. There are several reasons for this:

1. Nobody can learn C++ or Java directly. This is because while learning these languages you have things like classes, objects, inheritance, polymorphism, templates, exception handling, references, etc. Do deal with apart from knowing the actual language elements. Learning these complicated concepts when you are not even comfortable with basic language elements is like putting the cart before the horse.
2. C++, C# or Java make use of a principle called Object Oriented Programming(OOP) to organize the program.
3.Though many C++ and Java based programming tools have evolved over the years the importance of C is still unchallenged because knowingly or unknowingly while using these frameworks and tools you would be still required to use the core C language elements- another good reason why one should learn C before C++, C#.
4. Major parts of popular operating systems like Windows, UNIX, Linux are still written in C. This is because even today when it comes to performance ( speed of execution) nothing beats C.
5. Mobile devices like cellular phones and palmtops have become rage of today. Also, common user devices like microwave ovens, washing machines and digital cameras are getting smarter by the day. This smartness comes from microprocessor, an Operating system and a program embedded in these devices. These programs not only have to run fast but also have to work in limited amount of memory. These programs are written in C.