The C programming language was created at Bell Laboratories in the early 1970s, mainly by Ken Thompson and Dennis Ritchie. For the UNIX operating system, which at the time required applications to be written in assembly language, programmers needed a more user-friendly set of instructions. Assembly programmes, which communicate directly with a computer's hardware, are lengthy and complex to debug, and adding new functionality requires a lot of time and effort.
Thompson's first high-level language was named B after the BCPL system programming language on which it was built. Thompson rewrote B to better match the demands of the modern time, better system hardware after Bell Labs purchased a Digital Equipment Corporation (DEC) UNIX system model PDP-11. As a result C, the B's successor, was created. By 1973, C had matured to the point that it could be used to rewrite the UNIX operating system.
Other programmers needed documentation that detailed how to use C before it could be utilized effectively outside of Bell Labs. In 1978, Brian Kernighan and Dennis Ritchie's book "The C Programming Language," sometimes known as K&R or the "White Book" by C enthusiasts, became the canonical source for C programming. The second edition of K&R, first published in 1988, is still commonly accessible as of this writing. Based on the book, the first, pre-standard version of C is known as K&R C.
Throughout the 1980s, C developers sought to build standards for the language in order to prevent others from developing their own dialects. The American National Standards Institute (ANSI) standard X3.159-1989 became the official U.S. standard for C in 1989. In 1990, the International Organization for Standardization (ISO) issued the ISO/IEC 9899:1990 standard. These standards, as well as their later updates, are referenced in C versions after K&R. (C89, C90 and C99).
The 1980s saw a surge in operating system development, with C and its use in UNIX being only such instances. Despite its advancements over its predecessors, C was still difficult to use for creating larger software programmes. As computers got more powerful, there was a growing demand for a more user-friendly programming environment. This desire pushed programmers to use C to create their own compilers and, as a result, new programming languages. These new languages may make it easier to code complex operations with many moving elements. For example, object-oriented programming, a programming method that maximizes a programmer's ability to reuse code, was eased by languages like C++ and Java, both of which were derived from C.