The Origins of C Programming & C Is a Middle-Level Language

Chapter The Origins of C

C++ Complete Reference Book 3rd Edition
Pages 1041
Views 18,204
Downloads : 20 times
PDF Size : 10.8 MiB

Summary of Contents

C++ Complete Reference Book 3rd Edition

  • To understand C++ is to understand the forces that drove its creation, the ideasthat shaped it, and the legacy it inherits. Thus, the story of C++ begins with C.This chapter presents an overview of the C programming language, its origins, itsuses, and its underlying philosophy. Since C++ is built upon C, this chapter providesan important historical perspective on the roots of C++. Much of what makes C++what it is had its genesis in the C language.The Origins of CC was invented and first implemented by Dennis Ritchie on a DEC PDP-11 that usedthe Unix operating system. C is the result of a development process that started with anolder language called BCPL. BCPL was developed by Martin Richards, and itinfluenced a language called B, which was invented by Ken Thompson. B led to thedevelopment of C in the 1970s.For many years, the de facto standard for C was the version supplied with the Unixversion 5 operating system. It was first described in The C Programming Language byBrian Kernighan and Dennis Ritchie (Englewood Cliffs, N.J.: Prentice-Hall, 1978). In thesummer of 1983 a committee was established to create an ANSI (American NationalStandards Institute) standard that would define the C language once and for all. Thestandardization process took six years (much longer than anyone reasonably expected).The ANSI C standard was finally adopted in December 1989, with the first copiesbecoming available in early 1990. The standard was also adopted by ISO (InternationalStandards Organization) and is now referred to as the ANSI/ISO C standard. Forsimplicity, this book will use the term Standard C when referring to the ANSI/ISO Cstandard. Today, all mainstream C/C++ compilers comply with Standard C. StandardC is the foundation upon which C++ is built.C Is a Middle-Level LanguageC is often called a middle-level computer language. This does not mean that C is lesspowerful, harder to use, or less developed than a high-level language such as BASICor Pascal, nor does it imply that C has the cumbersome nature of assembly language(and its associated troubles). Rather, C is thought of as a middle-level language becauseit combines the best elements of high-level languages with the control and flexibilityofassembly language. Table 1-1 shows how C fits into the spectrum of computerlanguages.As a middle-level language, C allows the manipulation of bits, bytes, andaddresses—the basic elements with which the computer functions. Despite this factC code is also very portable. Portability means that it is easy to adapt software writtenfor one type of computer or operating system to another. For example, if you can easilyconvert a program written for DOS so that it runs under Windows, that program isportable.4C++: The Complete