Getting started with C programming

This is obsolete content Click Here to View Updated Version and Much more

History of c language

C evolved from two previous languages, BCPL and B. BCPL was developed in 1967 by Martin Richards as a language for writing operating-systems software and compilers. Ken Thompson modeled many features in his B language after their counterparts in BCPL, and in 1970 he used B to create early versions of the UNIX operating system at Bell Laboratories. Both BCPL and B were "typeless" languages every data item occupied one "word" in memory, and the burden of typing variables fell on the shoulders of the programmer.
C is a programming language developed at AT & T 's Bell Laboratories of USA in 1972. It was designed and written by a man named Dennis Ritchie.

Why bother to learn C today? There are several reasons for this.

I believe that 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 the basic language elements is like putting the cart before the horse. Hence one should first learn all the language elements very thoroughly using C language before migrating to C++, C# or Java. Though this two steps learning process may take more time, but at the end of it you will definitely find it worth the trouble.
Major parts of popular operating systems like Windows, UNIX, Linux is 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 device driver programs. These programs are exclusively written in C.
Mobile devices like cellular phones and palmtops are becoming increasingly popular. Also, common consumer devices like microwave oven, washing machines and digital cameras are getting smarter by the day. This smartness comes from a microprocessor, an operating system and a program embedded in this devices. These programs not only have to run fast but also have to work in limited amount of memory. No wonder that such programs are written in C. With these constraints on time and space, C is the language of choice while building such operating systems and programs.

Advantages of C language

  • Convenient language
  • Well-structured
  • Machine independence
  • Modularity
  • Case sensitive
  • Hardware control
  • Small language
  • Fast code generation