The C programming language was formulated and advanced by Dennis Ritchie and Ken Thompson in 1972 at Bell Labs, AT&T, situated in the United States. Prior to this milestone, it's essential to comprehend that ALGOL (short for Algorithmic Language) serves as the precursor to all programming languages, emerging as the initial programming language established in the 1960s. Subsequently, Martin Richards introduced the Basic Combined Programming Language (BCPL) in 1967, which drew its roots from ALGOL.
In 1970, the B language emerged from BCPL and was crafted by Ken Thompson; both of these programming languages lacked a specific type. By 1972, the C programming language was introduced to address the limitations of its predecessors like B and BCPL. Initially, C was predominantly employed for rewriting and enhancing the UNIX operating system, giving it portability and resilience.
-
Standardization and Evolution of the C Programming Language
Let's explore the programming languages created prior to the emergence of the C language.
| Language | Year | Developed By |
|---|---|---|
| Algol | 1960 | International Group |
BCPL |
1967 | Martin Richard |
B |
1970 | Ken Thompson |
| Traditional C | 1972 | Dennis Ritchie |
| K & R C | 1978 | Kernighan & Dennis Ritchie |
| ANSI C | 1989 | ANSI Committee |
| ANSI/ISO C | 1990 | ISO Committee |
C99 |
1999 | Standardization Committee |
C11 |
2011 | ISO Committee |
| C17/C18 | 2018 | ISO Committee |
C23 |
2024 | ISO Committee |
Here, we will discuss all the versions of the C programming language one by one.
K & R C (1978)
In 1978, Brian Kernighan and Dennis Ritchie released the initial version of their publication titled "The C Programming Language". Commonly referred to as the "K&R" book, it played a significant role in establishing C as a standardized and widely recognized programming language globally.
ANSI C (1989)
In the 1980s, ANSI, known as the American National Standards Institute (ANSI), initiated the development of the official standard for the C programming language. This initiative significantly facilitated the efficient creation of ANSI C, which was formalized (C89) in 1989. The standardization introduced a range of crucial elements, including function prototypes, a uniform library, enhanced type validation, and a standardized preprocessor. These enhancements effectively addressed all the shortcomings found in the previous iterations of the C language.
ANSI/ISO C (1990)
In the 1990s, the International Organization for Standardization (ISO) endorsed the ANSI C standard as C90 (ISO/IEC 9899:1990). This standard served as the foundation for compilers and software development for an extended period. It introduced various enhancements including syntax, semantics, libraries, and more. Subsequently, all future iterations of the C programming language were jointly published by ANSI and ISO.
C99 (1999)
In 1999, the C programming language unveiled a fresh iteration known as C99. This release brought forth a variety of enhancements such as variable-length arrays, inline functions, complex numbers, and numerous others. Additionally, it introduced the long long data type and the capability to use single-line comments (//).
C11 (2011)
In 2011, the programming language C unveiled a fresh iteration of its standard, known as C11, which was released by the International Organization for Standardization (ISO). This updated version brought forth a range of additions like anonymous structures and unions, support for multi-threading, Generic type-generic programming, and bolstered Unicode support, emphasizing safety and concurrency.
C17/C18 (2018)
In 2018, a new iteration of the C programming language called C17/C18 was introduced as a slight enhancement to C11. The International Organization for Standardization (ISO) officially labeled it as C18, although certain compilers and publishing entities refer to it as C17. This version addressed all the concerns that were present in C11 while also introducing several new functionalities like threading, atomics, bound-checking interfaces, and various other enhancements.
C23 (2023)
In 2023, the C programming language unveiled a fresh iteration called C23, marking the most recent release in its lineage. The International Organization for Standardization (ISO) officially released it as ISO/IEC 9899:2024. Serving as an advancement from C17/C18, C23 encompasses significant enhancements like binary literals, nullptr, static assertions, and a host of other functionalities. This version introduced a total of 14 novel keywords to the C lexicon, catering to contemporary hardware architectures.
Applications of the C Programming Language
There are several applications of the C programming language. Some of them are as follows:
- The C programming language is commonly utilized to develop and create embedded systems, system applications, desktop applications, and many others.
- It is also utilized for the Internet of Things (IoT).
- The C programming language is very useful for developing browsers and several extensions.
- It is also useful in Adobe applications.
- We can use the C programming language to create databases.
Conclusion
In summary, the C programming language plays a crucial role in software development, being widely employed for various applications. Originally developed for the UNIX operating system, it has maintained its relevance thanks to its straightforward nature, flexibility, and effectiveness. C is instrumental in crafting diverse applications, software frameworks, operating systems, and more. Serving as a foundation for numerous programming languages like C++, Java, and others, its well-structured syntax, high performance, and versatility contribute to its global popularity.