HPlogo HP C/HP-UX Reference Manual: Workstations and Servers

Chapter 1 Introduction

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

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. It became an American National Standard in December, 1989.

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 will 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/HP-UX is capable of producing migration warnings to help identify code where such "quiet changes" would occur.