HP C/iX Reference Manual (31506-90011)
Chapter 1 3
Introduction
1 Introduction
HP C originates from the C language designed in 1972 by Dennis Ritchie at Bell
Laboratories. It descended from several ALGOL-like languages, most notably BCPL and a
language developed by Ken Thompson called B.
Work on a standard for C began in 1983. The
Draft Proposed American National
Standard for Information SystemsProgramming Language C
was completed and was
approved by the Technical Committee X3J11 on the C Programming Language in
September, 1988. It was forwarded to X3, the American National Standards Committee on
Computers and Information Processing, early in 1989.
In December of 1989, the ANSI board approved the American National Standard for
Programming Language C, X3.159.
C has been called a "low-level, high-level" programming language. C's operators and data
types closely match those found in modern computers. The language is concise and C
compilers produce highly efficient code. C has traditionally been used for systems
programming, but it is being used increasingly for general applications.
The most important feature that C provides is portability. In addition, C provides many
facilities such as useful data types, including pointers and strings, and a functional set of
data structures, operators, and control statements.
The creation of an ANSI standard for C raises the question of compatibility with
preexisting implementations of the language. For the most part, the committee that
developed the standard adopted the goal of codifying existing practice, rather than
introducing new language features that had never been tried. They went to great lengths
to minimize changes which would "break" existing programs.
Many programs compile and execute properly in an ANSI C environment with no changes.
In the vast majority of cases where a change is required, the offending construct will be
identified by a warning or error message produced by the compiler. In a few cases, which
are believed to be rare in actual practice, certain program constructs will be accepted but
will behave differently under ANSI C. HP C/iX is capable of producing migration warnings
to help identify code where such "quiet changes" would occur.