History

Back in the day C was closely tied to the UNIX operating system, originally implemented in assembly language on a PDP-7 by Dennis Ritchie and Ken Thompson, incorporating several ideas from colleagues. Eventually, they decided to port the operating system to a PDP-11. The original PDP-11 version of Unix was developed in assembly language. Thompson needed a programming language for UNIX utilities. At first, he tried to make a Fortran compiler, but soon gave up the idea and made a new language B language, Thompson's simplified version of BCPL. However, small amount of utilities were made using B, because of it's unsatisfying efficency. Also, B could not take advantage of some of the PDP-11's features such as byte addressability.

In 1972, Ritchie started to improve B, which resulted in creating a new language - C. C compiler and some utilities made were later included in Unix. At Version 4 Unix (1973), the kernel was extensively re-implemented in C. By this time, the C language had acquired some powerful features.

Unix was one of the first operating system kernels implemented in a language other than assembly. In around 1977, Ritchie and Stephen C. Johnson made further changes to the language to facilitate portability of the Unix operating system. Johnson's Portable C Compiler served as the basis for several implementations of C on new platforms.