The C++ Programming Language (1991)
Front Cover Book Details
Author
Bjarne Stroustrup
Genre C++
Publication Date 1991
Format Paperback (240 x mm)
Publisher Addison-Wesley
Language English
Plot
Amazon.com
This classic work shows a care and understanding of C++ that only Bjarne Stroustrup, the designer of the language, can achieve. It also conveys the punctilious and sometimes suffocating detail that only Stroustrup would desire to communicate. The novice programmer will have difficulty distinguishing between the essential and the dispensable material. However, experienced C++ programmers will appreciate the reference manual portion of the book, which contains an exact definition of C++ that even numerous examples cannot express. Stroustrup's book has several chapters on classes and the reference manual component of the book contains the complete grammar of classes. This is a book that every experienced C++ programmer needs to own.

From Book News, Inc.
This definitive guide, written by the designer of C++ and substantially expanded in its second edition, provides coverage of the features available in the most recent release, including multiple inheritance, typesafe linkage, abstract classes, etc. For serious programmers using C++ for nontrivial projects. Annotation copyright Book News, Inc. Portland, Or.

Dr. Dobb's Journal
Read the entire review, including a chapter-by-chapter analysis of this book.

Bjarne Stroustrup's The C++ Programming Language, Third Edition (Addison-Wesley, 1997) has been available for several months. This work, by the creator of C++, is the definitive treatment of the subject and has been since its first edition in 1987. I must confess that I did not care for the first edition. I had expected a tutorial approach as elegant as the classic K&R white book. But then, K&R was about C, a programming language that supported a familiar programming model. The C++ programming model was new to most of us ten years ago, and Stroustrup's first edition was daunting, to say the least. Looking at it now, I find it far less so and much easier to read.

Comparing the first and third editions of The C++ Programming Language provides insight into how the C++ language has grown and changed in the past decade. The third edition has almost three times the number of pages and a slightly different organization. Whereas the first edition included a 67-page language reference manual at the end, the third edition includes only a language grammar section to represent formal language definition. This is appropriate. The ANSI/ISO Standard document, which is now the formal language and library definition, is itself about 750 pages long. Stroustrup plans to publish The Annotated C++ Language Standard (coauthored by Andrew Koenig, the ANSI C++ committee's Project Editor) sometime this year.

The third edition takes a tutorial approach with many of Stroustrup's personal programming philosophies. The author's explanations of how he uses language features provide examples for learning the behavior of those features. He also explains code idioms that some programmers routinely use but that he finds inappropriate.

As much as possible, the third edition reflects Standard C++. When small language features are found to be missing, particularly new ones, Stroustrup pledges to add them to a future printing...

This book is an essential addition to a C++ programmer's library. It is not for dummies, and it wouldn't be my first choice for an entry-level, self-help tutorial on C++ for beginning programmers. It is, however, an excellent textbook for programmers who are self-motivated and students who study under the watchful care of a skilled instructor. As an experienced C++ programmer, I find the book useful as a reference to language usage and behavior. The author invented the language and then stayed close to the standardization and innovation process for the duration, always maintaining a careful vigilance over the evolution of his brainchild. Consequently, this book serves, for those who do not care to pore over the ANSI/ISO document (or the promised annotated version), as the authority on the Standard C++ language, how it works, and how you should use it. -- Al Stevens, Dr. Dobb's Journal --This text refers to the Paperback edition.

Synopsis
This definitive guide, written by the designer of C++ and substantially expanded in its second edition, provides coverage of the features available in the most recent release, including multiple inheritance, typesafe linkage, abstract classes, etc. For serious programmers using C++ for nontrivial pr

Ingram
The second edition reflects the changes that have occurred as the C++ language has grown and developed over the last five years. This definitive guide, written by the designer of C++, now provides coverage of all of the features available in the most recent release, including multiple inheritance, typesafe linkage, and abstract classes. Includes two new chapters on how to design C++ programs.

Book Info
Presents the complete C++ language and a discussion of design and software development issues. Provides an emphasis on tutorial aspects aimed at the serious programmer. DLC: C++ (Computer programming language). --This text refers to the Hardcover edition.

Card catalog description
This is a complete rewrite of the most widely read and most trusted book on C++. Based on the ANSI/ISO C++ final draft, this book covers the C++ language, its standard library, and key design techniques as an integrated whole. The C++ Programming Language provides comprehensive coverage of C++ language features and standard library components. With this third edition, Stroustrup makes C++ even more accessible to those new to the language while adding information and techniques that even expert C++ programmers will find invaluable. --This text refers to the Paperback edition.

From the Inside Flap
"The road goes ever on and on".

----Bilbo Baggins

As promised in the first edition of the book, C++ has been evolving to meet the needs of its users. This evolution has been guided by the experience of users of widely varying backgrounds working in a great range of application areas. The C++ user community has grown a hundredfold during the six years since the first edition of this book; many lessons have been learned, and many techniques have been discovered and/or validated by experience. Some of these experiences are reflected here.

The primary aim of the language extensions made in the last six years has been to enhance C++ as a language for data abstraction and object-oriented programming in general and to enhance it as a tool for writing high-quality libraries of user-defined types in particular. A "high-quality library," is a library that provides a concept to a user in the form of one or more classes that are convenient, safe, and efficient to use. In this context, safe means that a class provides a specific, type-safe interface between the users of the library and its providers; efficient means that use of the class does not impose significant overheads in run-time or space on the user compared with handwritten C code.

This book presents the complete C++ language. Chapters 1 through 10 give a tutorial introduction; Chapters 11 through 13 provide a discussion of design and software development issues; and, finally, the complete C++ reference manual is included. Naturally, the features added and resolutions made since the original edition are integral parts of the presentation. They include refined overloading resolution, memory management facilities, and access control mechanisms, type-safe linkage, const and static member functions, abstract classes, multiple inheritance, templates, and exception handling.

C++ is a general-purpose programming language; its core application domain is systems programming in the broadest sense. In addition, C++ is successfully used in many application areas that are not covered by this label. Implementations of C++ exist from some of the most modest microcomputers to the largest supercomputers and for almost all operating systems. Consequently, this book describes the C++ langauge itself without trying to explain a particular implementation, programming environment, or library.

This book presents many examples of classes that, although useful, should be classified as "toys." This style of exposition allows general principles and useful techniques to stand out more clearly than they would in a fully elaborated program, where they would be buried in details. Most of the useful classes presented here, such as linked lists, arrays, character strings, matrices, graphics classes, associative arrays, etc., are available in "bulletproof" and/or "goldplated" versions from a wide variety of commercial and non-commercial sources. Many of these "industrial strength" classes and libraries are actually direct and indirect descendants of the toy versions found here.

This edition provides a greater emphasis on tutorial aspects than did the first edition of this book. However, the presentation is still aimed squarely at experienced programmers and endeavors not to insult their intelligence or experience. The discussion of design issues has been greatly expanded to reflect the demand for information beyond the description of language features and their immediate use. Technical detail and precision have also been increased. The reference manual, in particular, represents many years of work in this direction. The intent has been to provide a book with a depth sufficient to make more than one reading rewarding to most programmers. In other words, this book presents the C++ language, its fundamental principles, and the key techniques needed to apply it. Enjoy!

Acknowledgments

In addition to the people mentioned in the acknowledgments section in the preface to the first edition, I would like to thank Al Aho, Steve Buroff, Jim Coplien, Ted Goldstein, Tony Hansen, Peter Juhl, Brian Kernighan, Andrew Koenig, Bill Leggett, Warren Montgomery, Mike Mowbray, Rob Murray, Jonathan Shopiro, Mike Vilot, and Peter Weinberger for commenting on draft chapters of this second edition. Many people influenced the development of C++ from 1985 to 1991. I can mention only a few: Andrew Koenig, Brian Kernighan, Doug McIlroy, and Jonathan Shopiro. Also thanks to the many participants of the "external reviews" and the reference manual drafts and to the people who suffered through the first year of X3J16. Bjarne Stroustrup Murray Hill, New Jersey

From the Back Cover
Third Edition now available!

Written by the designer of C++, Bjarne Stroustrup, The C++ Programming Language is the definitive guide to the language, its fundamental principles, and key techniques for mastering it. The C++ Programming Language provides coverage of all C++ features, including exception handling, templates (parameterized types), and the latest ANSI/ISO extensions. The C++ Programming Language is the cornerstone of every C++ programmer's library.

Features
Provides a complete tutorial to C++ and its key design and programming techniques
Focuses on the language features supporting abstraction and object-oriented programming
Discusses the technical and organizational issues arising when C++ is used in the design and implementation of large software systems
Describes the relationship between C and C++
Presents techniques for designing high-quality libraries
Gives example implementations of key user-defined types, such as graphical shapes, associative arrays, lists, and I/O streams
Contains an Appendix covering recent ANSI/ISO Resolutions concerning the standardization of C++
Includes the complete C++ reference manual
Errata for the book, and brief updates on the progress of C++ standardization are available via ftp at:
ftp://ftp.aw.com/cseng/authors/stroustrup/stroustrup2e/

About the Author
Bjarne Stroustrup is the designer and original implementor of C++ and the author of The C++ Programming Language (first edition 1985, second edition 1991, third edition 1997), The Annotated C++ Reference Manual, and The Design and Evolution of C++. A graduate of the University of Aarhus, Denmark, and Cambridge University, England, Dr. Stroustrup is currently the head of AT&T Labs' Large-Scale Programming Research Department, an AT&T Fellow, an AT&T Bell Laboratories Fellow, and an ACM fellow. His research interests include distributed systems, operating systems, simulation, design, and programming. He is Editor for Addison-Wesley's C++ In-Depth Series.

Excerpted from The C++ Programming Language, Special Edition by Bjarne Stroustrup. Copyright © 2000. Reprinted by permission. All rights reserved
Preface I find using C++ more enjoyable than ever. C++'s support for design and programming has improved dramatically over the years, and lots of new helpful techniques have been developed for its use. However, C++ is not just fun. Ordinary practical programmers have achieved significant improvements in productivity, maintainability, flexibility, and quality in projects of just about any kind and scale. By now, C++ has fulfilled most of the hopes I originally had for it, and also succeeded at tasks I hadn't even dreamt of. This book introduces standard C++* and the key programming and design techniques supported by C++. Standard C++ is a far more powerful and polished language than the version of C++ introduced by the first edition of this book. New language features such as name spaces, exceptions, templates, and run-time type identification allow many techniques to be applied more directly than was possible before, and the standard library allows the programmer to start from a much higher level than the bare language. About a third of the information in the second edition of this book came from the first. This third edition is the result of a rewrite of even larger magnitude. It offers something to even the most experienced C++ programmer; at the same time, this book is easier for the novice to approach that its predecessors were. The explosion of C++ use and the massive amount of experience accumulated as a result makes this possible. The definition of an extensive standard library makes a difference to the way C++ concepts can be presented. As before, this book presents C++ independently of any particular implementation, and as before, the tutorial chapters present language constructs and concepts in a "bottom up" order so that a construct is used only after it has been defined. However, it is much easier to use a well-designed library than it is to understand the details of its implementation. Therefore the standard library can be used to provide realistic and interesting examples well before a reader can be assumed to understand its inner workings. the standard library itself is also a fertile source of programming examples and design techniques. This book presents every major C++ language feature and the standard library. It is organized around language and library facilities. However, features are presented in the context of their use. That is, the focus is on the language as the tool for design and programming rather than on the language in itself. This book demonstrates key techniques that make C++ effective and teaches the fundamental concepts necessary for mastery. Except where illustrating technicalities, examples are taken from the domain of systems software. A companion, The Annotated C++ Language Standard, presents the complete language definition together with annotations to make it more comprehensible. The primary aim of this book is to help the reader understand how the facilities offered by C++ support key programming techniques. The aim is to take the reader far beyond the point where he or she gets code running primarily by copying examples and emulation programming styles from other languages. Only a good understanding of the ideas behind the language facilities leads to mastery. Supplemented by implementation documentation, the information provided is sufficient for completing significant real-world projects. The hope is that this book will help the reader gain new insights and become a better programmer and designer. --This text refers to the Hardcover edition.

Book Description
com/~bs/) have been added. The result is complete, authoritative coverage of the C++ language, its standard library, and key design techniques. Based on the ANSI/ISO C++ standard, The C++ Programming Language provides current and comprehensive coverage of all C++ language features and standard library components.

For example:
abstract classes as interfaces class hierarchies for object-oriented programming templates as the basis for type-safe generic software exceptions for regular error handling namespaces for modularity in large-scale software run-time type identification for loosely coupled systems the C subset of C++ for C compatibility and system-level work standard containers and algorithms standard strings, I/O streams, and numerics C compatibility, internationalization, and exception safety

Bjarne Stroustrup makes C++ even more accessible to those new to the language, while adding advanced information and techniques that even expert C++ programmers will find invaluable. --This text refers to the Hardcover edition.
Personal Details
Collection Status Not In Collection
Store Border's
Location trabalho
Purchase Price $36.50
Purchase Date 1991
Condition Good
Index 85
Owner Paulo Mendes
Read It No
Collection # 00051
Main Subject C++
Secondary Subject C++
Product Details
LoC Classification QA76.73.C15S79 1991
Dewey 005.13/3 20
ISBN 0201539926
Edition 02
Printing 2
Country USA
Cover Price $43.95
Nr of Pages 669
First Edition Yes
Rare No
Notes
Book Errata