Before we start the technicalities of our topic, let us understand some very basics.
- What is Programming?
- What is Programming Language?
- Why Programming Language ?
Instructing the computer to do some task by telling it “What to do” and “How to do it” is programming. It is the medium by which instructions are passed to the computer.
Humans use language(s) to communicate with each other. Similarly, the medium used to communicate with the computer to tell “What to do and How to do it” is known as Programming Language.
Computers can understand only Binary Language consisting of huge combinations of “0”s and “1”s which is definitely not easy for humans to understand. Programming Language(s) are more readable for humans as they use English alphabets and words, Numbers, Symbols.
A software tool called as “compiler”, which is basically a translator, converts the Human Readable Programming Language into Binary Language which computer can understand.
What is C Programming?
C is one of the Programming Language(s) which revolutionized the world of Computers. Dennis Ritchie created the language at Bell Labs and it appeared in 1972. Since then, it is one of the most popular and widely used languages in millions of devices.
Features of C Programming
- Easy to Code
- Strongly Typed
- Compiled Language
- High Performance and Reliable
- Close to Hardware Compiled Code
- Procedure Oriented Programming (POP)
Applications of C Programming
- Device Drivers
- Kernel of Operating Systems
- System Programming
- Embedded Computer and System Applications like “Traffic Light Controllers”
- Compilers of other Language(s) such as Python, Pearl etc.
- Heavy Computing tools such as “MATLAB” or “Mathematica”
History of C Programming
In the late 1960s, when computer hardware got “Transistors” and “ICs (Integrated Circuits)” Assembly Language, FORTRAN, COBOL etc. were being used. Although these languages were serving the purpose at the time to an extent, they had limitations.
For example, Assembly Language had vast abilities but hard to code, especially when programs become larger. Other languages Such as COBOL, PASCAL were easy and User-Friendly Programming Language(s) but had limited capabilities, i.e. programmer could use only pre-defined features but may not create the desired one.
At Bell Labs, “Dennis Ritchie” (Computer Scientist) looked at the scenario and came up with an idea to create something with vast capabilities like Assembly Language and User-Friendly.
The idea said, “Give all possible capabilities within the language which are required frequently and the power to create if it is not present”.
The idea devolved as “C Programming Language” and the power given to it was “Control Structure”.
Initially, C Compiler was programmed in Assembly Language. C uses simple English words, numbers and symbols as required, making it easily readable and understandable for humans.
UNIX OS was also being developed at Bell Labs and Dennis Ritchie re-programmed the code for “C compiler”, “UNIX OS”, System and Application programs in C language itself and compiled. Thus, performance enhanced significantly as there was no explicit translation because from OS to Application programs, everything was in C. This resulted in quick and wide adaptability of C Programming Language.
As a result, the wide applications and features of C make it a very essential and irreplaceable language for computers. For any individual entering in Programming and Development, it is highly recommended to start with C Programming because no other language can show the depths and understanding of programming as clearly as C.
References: Wikipedia Article