This is an introduction to programming for people who have never programmed before.
It will also be useful for people who have programmed a bit and want to improve
their style and technique - or simply learn modern C++.
It is designed for classroom use, but written with an eye on self study.
Ealier versions of this book
have been used as the basis for first programming classes for electrical engineering,
computer engineering, and computer science students at Texas A&M University
for almost a decade now, and in many other places.
Here are some samples
Preface.
What the book promises, and what it does not promise.
Chapter 18: Vectors and Arrays.
If you are a real novice, don't read this chapter quite yet.
I post it to show teachers and more experienced readers where the book gets to in the 9th week or so.
Also, to show off a little bit of C++11.
You can find some
support for the book.
This site is primarily aimed at educators (it is a textbook after all).
Translations
This second edition has been translated into Japanese and Chinese.
If you know of more translations plese sent me information about them.
Translations of
the first edition of PPP:
Polish,
Chinese (simplified),
Chinese edition in English,
French,
Russian,
Korean,
Japanese,
Portuguese,
Chinese (tradiditional),
Kazakh.
Back cover copy
An Introduction to Programming by the inventor of C++
Preparation for Programming in the Real World
The book assumes that you aim eventually to write non-trivial programs, whether for work in software development or in some other technical field.
Focus on Fundamental Concepts and Techniques
The book explains fundamental concepts and techniques in greater depth than traditional introductions. This approach will give you a solid foundation for writing useful, correct, maintainable, and efficient code
Programming with Today's C++ (C++11 and C++14)
The book is an introduction to programming in general, including object-oriented programming and generic programming. It is also a solid introduction to the C++ programming language, one of the most widely used languages for real-world software. The book presents modern C++ programming techniques from the start, introducing the C++ standard library and C++11 and C++14 features to simplify programming tasks.
For Beginners -- And Anyone Who Wants to Learn Something New
The book is primarily designed for people who have never programmed before, and it has been tested with many thousands of first-year university students. It has also been extensively used for self-study. Also, practitioners and advanced students have gained new insight and guidance by seeing how a master approaches the elements of his art.
Provides a Broad View
The first half of the book covers a wide range of essential concepts, design and programming techniques, language features, and libraries. Those will enable you to write programs involving input, output, computation, and simple graphics. The second half explores more specialized topics (such as text processing, testing, and the C programming language) and provides abundant reference material. Source code and support supplements are available from the author's website.
ABOUT THE AUTHOR
Bjarne Stroustrup is the designer and original implementer of C++ and the author of The C++ Programming Language (Addison-Wesley). He is a Managing Director in the Technology division of Morgan Stanley, a Visiting Professor at Columbia University, a Distinguished Research Professor at Texas A&M University, and a member of the U.S. National Academy of Engineering. Before moving to academia, he worked for decades in AT&T Bell Labs. He is a founding member of the ISO C++ standards committee.