Programming
Programming is the medium for humans to communicate with computers.
Programming reffers to process of creating and giving instructions and commands to
computer. These instructions and commands are written in various coding or progamming languages. This
languages are easily understood by computer and the computer performs the operations and tasks it is
instructed to do by executing the commands or programs written using these languages.
Basically,
programming is used to tell the computers what operation they need to perform. The computer executes
these programs and give the desired result as output.
One of the most popular programming language is C, about which we will be
studying.
How was C created?
ALGOL
ALGOL was introduced in early 1960s. It is the root of all modern languages. It was first computer language to use a block structure, it gave the concept of structured programming.
BCPL
Basic Combined Programming Language: Developed by Martin Richards in 1967, primarily for writing system software. BCPL was typeless programming language.
B
Developed by Ken Thompson, in 1970. Ken used many features of BCPL to develop B (thus the name from BCPL i.e. B). B was also a typless programming language and was used to create early versions of UNIX operating system at Bell Laboratories.
C
In 1972, Dennis Ritchie developed C programming language at Bell Laboratories. C uses many concepts of ALGOL, BCPL and B and added concepts of data types and many other powerful features. Since C was developed along with UNIX OS, UNIX was coded almost entirely in C.
K&R C
In 1978, Brian Kerningham and Dennis Ritchie published
the book The C Programming Language
. The book became so popular, that C was also known as
K&R C.
ANSI C
Due to development of different versions of C, in 1983, American National Standards Institute (ANSI) appointed a technical committee to define a standard for C. The committee approved a version of C in December 1989, known as ANSI C.
C89
ANSI C was later approved by International Standards Organization (ISO) in 1990. This version of C was known as C89.
C++
C++ programming language was developed on concepts of C and several new features, C++ became ANSI/ISO certified in 1997.
JAVA
Sun Microsystems of USA created JAVA programming language based on C and C++.
C99
Several new features that were introduced in JAVA and C++ were added into C by standardization committee, in 1999, to enhance the C language, this version of C is referred as C99.
C11
C was further improved and developed by standardization committee in 2011 and a new standard version C11 was introduced.
C17
Further improvments and enhancements resulted in C17 standard version of C officialy published in 2018 by ISO.
MORE
VERSIONS
As the technology improves and new developments take place, more modifications will be made in the language and newer versions keep developing.
Features Of C
- Efficiency: C provides low-level memory access and allows for direct manipulation of hardware and memory through pointers and also provides the high-level constructs such as functions, loops, conditionals, data types and powerfull operators, thus C combines the capabilites of low-level language with features of high-level language, this is the reason for programs written in C being efficient.
- Simplicity: C has a easy to understand syntax.
- Portability: Programs written in C can be run on different types of machines with little or no modification.
- Modularity: C supports modular programming through functions, it makes code organised and allows code to reused and makes program easier to read, understand, debbug, test and maintain.
- Pointers: Pointer arithmetic in C allows dynamic memory allocation.
- Speed: The low-level capabilities and efficiency of C makes C the most fastest programming language.
- Extedability: The C provides a vast number of libraries and functions, which can be further extended to increase the capability of the language.
- Memory Efficient: C programs consume very low memory.
Applications of C
- C is used in development of Operating Systems like UNIX, Linux, Windows.
- C is widely used in embedded systems programming for microcontrollers and real-time systems due to its memory and working efficiency and control over the hardware.
- C is also used to develop system softwares as well as business packages.
- Database Management Systems like MySQL and PostgreSQL use C for performance critical-components.
- Many compilers and interpreters for many programming languges are implemented using C.
- C is used in the development of Graphic engines and Games due to its speed and efficiency.
- C is also used in IoT (Internet Of Things).
- C is used to develop network protocols and applications due to its high efficiency and low-level memory access.
- Many web servers, like Apache and Nginx, are written in C to handle large number of requests efficiently.