Introduction to C


  • The C programming language was designed by Dennis Ritchie at Bell Laboratories in the early 1970s
  • Influenced by

–        ALGOL 60 (1960),

–        CPL (Cambridge, 1963),

–        BCPL (Martin Richard, 1967),

–        B (Ken Thompson, 1970)



  • Advantages of C:

–        compiled code runs FAST

–        allows low-level device control

–        a foundation of the programming world

  • Disadvantages of C:

–        strings are a pain in the @$$

–        awkward conventions (pointers can be difficult to learn)

–        requires a compiler



History of C language

The initial development of C occurred at AT&T Bell Labs between 1969 and 1973; according to Ritchie, the most creative period occurred in 1972. It was named “C” because its features were derived from an earlier language called “B”, which according to Ken Thompson was a stripped-down version of the BCPL programming language.

The origin of C is closely tied to the development of the UNIX operating system, originally implemented in assembly language on a PDP-7 by Ritchie and Thompson, incorporating several ideas from colleagues. Eventually they decided to port the operating system to a PDP-11. B’s inability to take advantage of some of the PDP-11′s features, notably byte addressability, led to the development of an early version of C.

The original PDP-11 version of the Unix system was developed in assembly language. By 1973, with the addition of struct types, the C language had become powerful enough that most of the Unix kernel was rewritten in C. This was one of the first operating system kernels implemented in a language other than assembly.

(Earlier instances include the Multics system (written in PL/I), and MCP (Master Control Program) for the Burroughs B5000 written in ALGOL in 1961.) Circa 1977, further changes to the language were made by Ritchie and Stephen C. Johnson 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







A password will be e-mailed to you.

Feedback Form

[contact-form-7 id="98" title="Feedback Form"]