UNIX Time-Sharing System: The C Programming Language
01 July 1978
The C Programming Language By D. M. RITCHIE, S. C. JOHNSON, M. E. LESK, and B. W. KERNIGHAN (Manuscript received December 5, 1977) C is a general-purpose programming language that has proven useful for a wide variety of applications. It is the primary language of the UNIX* system, and is also available in several other environments. This paper provides an overview of the syntax and semantics of C and a discussion of its strengths and weaknesses. C is a general-purpose programming language featuring economy of expression, modern control flow and data structure capabilities, and a rich set of operators and data types. C is not a "very high-level" language nor a big one and is not specialized to any particular area of application. Its generality and an absence of restrictions make it more convenient and effective for many tasks than supposedly more powerful languages. C has been used for a wide variety of programs, including the UNIX operating system, the C compiler itself, and essentially all UNIX applications software. The language is sufficiently expressive and efficient to have completely displaced assembly language programming on UNIX. C was originally written for the PDP-11 under UNIX, but the language is not tied to any particular hardware or operating system. C compilers run on a wide variety of machines, including the Honeywell 6000, the IBM System/370, and the Interdata 8/32. * UNIX is a trademark of Bell Laboratories. 1991 I. THE LINGUISTIC HISTORY OF C The C language in use today 1 is the product of several years of evolution.