C is general-purpose procedural programming language developed by Dennis Ritchie at AT&T’s Bell laboratories in 1972. It is a high-level programming language. However, often referred as a middle-level programming language; since it provides rich support to low-level programming constructs.
The development of C began, to re-implement the UNIX operating system. It is such a powerful language that most of the popular operating systems are completely or partially written in C. It is mostly used for the development of Operating systems, Kernels, Compilers, Device drivers, embedded systems, RDBMS packages etc.
History of C programming
The advent of C programming begin in the late 1960s and share roots deep in the development of UNIX operating system. UNIX is a popular network operating system that pumps heart of the modern internet.
In late 1960s Ken Thompson and Dennis Ritchie developed, a language called B. Earlier version of UNIX uses B programming language. It inherits many of its features from BCPL (Basic Combined Programming Language).
Later in the early 1970s need for a portable operating system and programming language originated. Rather developing programs and operating system for a particular machine. The need of a portable operating system came in existence. This was the period when development of C programming language started.
During 1969 to 1972, Dennis Ritchie at Bell Laboratories developed C. In 1972, the first release of C programming got officially public. C inherited many features from ALGOL, BCPL and B. It is such a powerful language that UNIX operating system is almost completely written in C.
In 1978, it gained huge popularity from the Bell laboratories to the heart of every programmer. Brain Kernighan along with Dennis Ritchie published the first book on C "The C Programming Language". The book is popularly also known as "K&R C book”.
To learn C in much better way, this is a must read book on C programming.
Buy "The C programming Language" book now from amazon.
The massive popularity of C programming headed development of its versions. However, every version was similar to the original but often incompatible. To assure the standard of C in every version, American National Standards Institute (ANSI) initiated work on C standards.
In 1989, ANSI sets base for all implementations of C compilers and published the first standard of C. The first C standard is popularly known as C89. The current C standard is commonly referred as C11.
Features of C
C is a popular programming language among programmers. It is one of the widely used programming language in the world.
Simple and Robust
For beginner’s C is the easiest language to learn. Its simplicity lies in the lesser number of programming constructs that can power up any complex system. However, some concepts of C programming can become nightmare for beginners. C supports a rich set of built-in library functions and a variety of operators.
C is a machine independent language. C programs can run on a range of machines that has a C compiler. Today almost every machine has a minimum C compiler installed on it. Hence, when you write programs in C you should not worry, whether your program will run on a particular machine or not. However, C does not supports platform independency as Java.
C programs are modular in nature. We can divide C programs to several modules that will combine in a single module to build the final program.
C language provides a rich set of built-in library function. We can also build our own library functions and can use them in future. Because of modularization of programs, you can extend your C programs anytime.
The compilation and execution of C programs are faster than modern programming languages.
C programming is widely known among programmers around the world. Because of its vast popularity, it is suitable for most of the system projects.
Why should I learn C programming?
Whether you are beginning your programming life or you have learnt programming. Learning C has its own importance, below are the few advantages of C, over other programming languages.
- C is a simple language, compared any other modern programming languages. It contains a lesser number of programming constructs that makes it easy to learn. However, some concepts of C programming can be a nightmare for beginners.
- Learning C will make you understand how a computer program functions internally.
- Despite being a high-level programming language its ability to provide rich support for low-level programming separates it from modern programming languages.
- The Backbone of Operating system development is C. Most of the popular OS either fully or partially written in C.
- C is the main programming language used in Apple iOS apps and OS development as Objective C. Objective C is the Object Oriented version of C programming.
- C language is widely used for the development of Compilers, Assemblers, Language Interpreters, Device drivers, Databases, Embedded systems, Server, Game frameworks etc.
- Most of the modern programming languages either directly or indirectly inherited from C. Therefore, C will definitely help to learn C inherited languages.
In summary, I can say learn C if you want to be an enthusiast low level or mid-level system developer. If you are passionate to develop system software’s. Learn if you want to learn the base of all modern programming languages. Learn C to know fundamentals of programming.