The C programming language was designed and implemented by Dennis Ritchie in 1972 at AT&T Bell Laboratories. Despite a late start, the popularity of C has been increasing rapidly. C compilers are now available for many machines and the list of available C compilers is growing fast [Halfant 1983, Kern 1983, Phraner 1983]. Two important reasons for this increasing popularity are the
1. Flexibility of the C Language: It can be used for a wide variety of application domains with relative ease.
2. Popularity of the UNIX™ System: Most of the software in the UNIX System is written in C and C is the primary language supported by the UNIX system.
Ever since its design, C has been evolving, particularly in the areas of type checking and mechanisms to improve program portability. For example, a project to transport the UNIX operating system to an Interdata 8/32 computer led to several additions to C, notably, unions, casts and type definitions [Bourne 82]. More recently, an effort has been under way to incorporate data abstraction facilities in C [Stroustrup 1983]; data abstraction is an area in which the current version of C has only limited facilities. C is currently in the process of being adopted as an ANSI standard; it is likely that this process will result in further changes to C, several of which are under consideration. ANSI standardization of C is scheduled for late 1985.