LogoLogo
  • Welcome
  • Preface
  • Languages
    • Assembly Language
      • Introduction
      • History
      • What it solves
      • Advantages
      • Disadvantages
      • Conclusion
    • C++
      • Introduction
      • History
      • Advantages
      • Disadvantages
      • Conclusion
    • ABC
      • Introduction
      • History
      • What it solves
      • Advantages
      • Disadvantages
      • An Example
      • Conclusion
    • Python
      • Introduction
      • History
      • What it solves
      • Advantages
      • Disadvantages
      • Few more points
      • Conclusion
    • Erlang
      • Introduction
      • History
      • Advantages
      • Disadvantages
      • Some interesting facts
      • Conclusion
    • JavaScript
      • Introduction
      • History
      • Purpose & Advantages
      • Disadvantages
      • Some interesting facts
      • Conclusion
    • C#
      • Introduction
      • History
      • Advantages
      • Disadvantages
      • Conclusion
    • Go
      • Introduction
      • History
      • Advantages
      • Disadvantages
      • Some interesting facts
      • Conclusion
    • Haskell
      • Introduction
      • History
      • Advantages
      • Disadvantages
      • Some interesting facts
      • Conclusion
    • Brainfuck
      • Introduction
      • History
      • Advantages
      • Disadvantages
      • Conclusion
      • Some interesting facts
    • Malbolge
      • Introduction
      • History
      • Advantages
      • Disadvantages
      • Conclusion
    • Perl
      • Introduction
      • History
      • Advantages
      • Disadvantages
      • Conclusion
    • C
      • Introduction
      • History
      • Advantages
      • Disadvantages
      • Conclusion
    • Lua
      • Introduction
      • History
      • Advantages
      • Disadvantages
      • Some interesting facts
      • Conclusion
    • JVM
      • Introduction
      • Java
        • Introduction
        • History
        • Advantages
        • Disadvantages
        • Some interesting facts
        • Conclusion
      • Clojure
        • Introduction
        • History
        • Advantages
        • Disadvantages
        • Some interesting facts
        • Conclusion
  • End
    • Credits
Powered by GitBook
On this page
  1. Languages
  2. C

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.

PreviousIntroductionNextAdvantages

Last updated 6 years ago