History of C

The C programming language has a rich history that spans several decades. Here is an overview of the key milestones and developments in the history of C:

  1. Origins in B Language (1960-1970):

    Imagine it's the 1960s, and computers are still pretty new and clunky. Back then, a smart computer scientist named Ken Thompson was working at Bell Labs. He was creating an operating system called Unix for these computers, but there was a problem. Each computer used a different language, which made it tough to move Unix from one machine to another.

    To solve this problem, Ken Thompson and his colleague Dennis Ritchie decided to create a new programming language. They called it "C." It was a language that could work well on different computers, making it easier to move Unix around.

  2. Development of C (Early 1970s):
    Dennis Ritchie was the main brain behind C. He took the language to the next level. He added features like data types and functions that made it super useful for writing software. In 1972, they released the first version of C.
  3. First C Compiler (1972):
    The first C compiler was implemented on the PDP-11 computer. This marked a significant milestone as it allowed C programs to be compiled and executed on a computer.
  4. Standardization (Early 1970s-1980s):
    The development of C continued, and it gained popularity for system programming, especially in the Unix operating system. In the late 1970s and early 1980s, C underwent standardization efforts. The first standardized version of the C language, known as "K&R C" (named after Kernighan and Ritchie), was published in "The C Programming Language" book by Brian Kernighan and Dennis Ritchie in 1978.
  5. ANSI C (1983-1989):
    In 1983, the American National Standards Institute (ANSI) established a committee to standardize the C language. This effort resulted in the ANSI C standard, published in 1989. ANSI C introduced several new features and clarified the language's specifications.
  6. C89/C90 Standard (1989):
    The ANSI C standard of 1989, often referred to as C89 or C90 (based on its publication year), became widely adopted and formed the basis for C programming.
  7. ISO C (1990):
    The ANSI C standard was adopted as an international standard by the International Organization for Standardization (ISO) in 1990. This version is commonly known as ISO C.
  8. C99 Standard (1999):
    The C99 standard, officially called "C Standard" or "ISO/IEC 9899:1999," introduced several new features and improvements to the language, including inline functions, variable-length arrays, and more extensive standard library support.
  9. C11 Standard (2011):
    The C11 standard, officially known as "ISO/IEC 9899:2011," brought additional features like multi-threading support, generic selection, and improved Unicode support.
  10. C17 Standard (2018):
    The C17 standard, officially named "ISO/IEC 9899:2018," was a minor update to the C11 standard, fixing some issues and clarifying specifications.
  11. C23 (Expected):
    There are ongoing discussions and developments for the next version of the C standard, tentatively referred to as "C23." It aims to introduce further enhancements and improvements to the language.

C has had a profound impact on the field of computer programming. It is widely used for system software, embedded systems, application development, and more. Its simplicity, efficiency, and portability have contributed to its enduring popularity and influence in the world of programming languages.