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.
- Amazon Sales Rank: #54461 in Books
- Brand: Stroustrup Bjarne
- Published on: 2014-05-25
- Original language:
- Number of items: 1
- Dimensions: 9.10" h x
1.90" w x
- Binding: Paperback
- 1312 pages
- Programming Principles and Practice Using C
About the Author
Bjarne Stroustrup is the designer and original implementer of C++, as well as the author of The C++ Programming Language, Fourth Edition (Addison-Wesley, 2013), and A Tour of C++ (Addison-Wesley, 2014) and many popular and academic publications. Dr. Stroustrup is a managing director at Morgan Stanley in New York City, as well as a visiting professor at Columbia University and a Research distinguished professor at Texas A&M University. He is a member of the U.S. National Academy of Engineering, an IEEE Fellow, and an ACM fellow. His research interests include distributed systems, design, programming techniques, software development tools, and programming languages. He is actively involved in the ISO standardization of C++.
Most helpful customer reviews
0 of 0 people found the following review helpful.
Exemplary Work, but You Need to Read Carefully
By Eric Siron
This book is excellent and surprisingly thorough for a beginner's book. What you get out of it will depend on your own learning style and the level of effort that you put into it.
The material was designed with an instructor-led course in mind. I wish I'd had the opportunity to work through it that way, especially with other students.
If you can't have that either, then just be warned that you'll need to follow the recommendations in the "Notes to the Reader" section. Pace yourself, read closely, and be prepared to re-read. Do the exercises... maybe not all of the exercises, but certainly any that look like they'll be a challenge. It plainly says that they chose to "understate" rather than "hype". I found a number of places that I wish they'd hyped a bit more. If you skim this text, you will miss important things.
This book uses an approach that manages to be both practical and unique. Most programming books have you following examples that you'll probably never use. Since every programmer will go on to do different things, that's almost unavoidable. So, this book does the same, but in a way that the lessons stick.
After the language basics, they have you drawing a lot of 2D shapes. Even if you'll never do that, work through the chapters anyway. You'll learn lots of about inheritance and substitution, among other things.
After that, they have you build a template class that mimics the standard vector. However, you don't just write final code. You follow the same logical progression that a real world program often takes. You start off by building enough to solve the problem at hand. Then, you refine the code to solve additional problems, including some that are caused by your early solutions. You wind up with something that looks very much like the official vector. The best part is that you understand why it looks that way and what it does. Even though you'll probably never (and probably shouldn't) build your own vector, you walk away with a clear understanding of a gigantic stack of concepts -- all based on a real-world challenge.
I don't have any meaningful negative criticism, but the book is not quite perfect. I understand not wanting to "hype" language features, but I felt that some things were unnecessarily muted. For instance, I feel like lots of people don't really understand the way that memory works or the dangers of not carefully allocating/freeing it. The material covers that, but introduces the related problems quite a bit later than I would expect and with a subdued tone. A close reading of the text mitigates that concern. Having an instructor to show you what to draw red boxes around would help a lot, as well.
2 of 2 people found the following review helpful.
An excellent beginners' book
By James T Matta
When I bought this book I was not quite expecting a programming for beginners' book. I was expecting something that would talk about good idioms and techniques for c++ among other things. But I am not disappointed. I gave away my old Starting Out with C++ by Gaddis some time ago and I find this a great replacement. It gives a very thorough introduction to things and I have learned things a great deal from it. It is a good book for beginners and a good reference for the more experienced.
1 of 1 people found the following review helpful.
See all 206 customer reviews...
Wish I'd read this book first
I have attempted to master C++ programming using several books. For me, and my learning style, this book is exactly what I needed the entire time. Most books will teach how to write code, but this one teaches why to write code a certain way, as well as encouraging good practices. So far every concept has been carefully yet succinctly presented. I suspect an ambitious teen could handle this book, yet it is written is a way that even experienced programmers would enjoy it.