What is the best textbook for learning C++?

Click For Summary

Discussion Overview

The discussion revolves around recommendations for textbooks to learn C++. Participants share their experiences with various books and suggest different approaches to learning the language, including whether to learn C first. The scope includes personal preferences, pedagogical approaches, and the effectiveness of different textbooks.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • One participant expresses a preference for Bjarne Stroustrup's "Programming: Principles and Practice Using C++," noting its comprehensive coverage but also its occasional lack of explanations for certain functions.
  • Another participant suggests learning C before C++, recommending the "white book" (Kernighan and Ritchie) for a solid foundation.
  • Some participants agree that learning C first can provide a better understanding of C++'s capabilities, emphasizing the importance of grasping pointers and dynamic memory allocation.
  • Deitel's books are recommended by one participant based on their own positive experiences with various programming texts, highlighting their thoroughness and the need for patience in reading them.
  • Gaddis's textbooks are mentioned positively by multiple participants, with one noting their familiarity with the author and preference for Gaddis's style over others like Savitch.
  • C++ Primer is suggested as a reliable resource by one participant, indicating its broad acceptance among learners.
  • Concerns are raised about the abundance of code examples in some textbooks, with a participant suggesting that some could be omitted for clarity.
  • One participant mentions their role as a reviewer for Gaddis's first edition and shares their upcoming teaching plans using "Problem Solving with C++" by Walter Savitch.

Areas of Agreement / Disagreement

Participants express a range of opinions on the best approach to learning C++ and the effectiveness of various textbooks. There is no consensus on a single best textbook, and multiple competing views on whether to learn C first remain present.

Contextual Notes

Some participants note the importance of foundational knowledge in C for understanding C++, while others advocate for direct learning of C++. The discussion reflects varying levels of experience and preferences for different teaching styles and textbook formats.

zachdr1
Messages
89
Reaction score
0
I've taken a class in C++ and we used Bjarne Stroustrup's Programming: Principles and Practice Using C++. We only got to the point to where we were just starting to learn about pointers, so I still consider myself a beginner. C++ is my first programming language.

I really like how Bjarne covers a lot of stuff in this book, I just hate how he'll randomly throw functions in that I don't know of without explaining them. It makes it hard to follow along.

Does anyone have any recommendations?
 
Physics news on Phys.org
Although it is not really required to learn C first and then C++, I agree with phinds. As a beginner, learn first a good deal of C (pointers, advanced data structures and dynamic memory allocation included) and then in learning C++, you'll look at it in a more experienced way and see really where its great power lies.

As for textbooks, I recommend Deitel's books. The reason is that I studied myself C, C++, Java and Internet and The WWW How to Program, although we had different textbooks for the courses back then and I found them of great help. These books are even more improved in their present editions. They are big, so you need to be patient and serious in reading them, but in my opinion it pays well back. Also for simple to intermediate exercises as a beginner, I used Schaum's Outlines Series Programming with C and Programming with C++. Of course, there are lots of other good textbooks you can find.
 
Dr Transport said:
https://www.amazon.com/dp/0134400240/?tag=pfamazon01-20

I like gaddis, used the 6th ed a few yers ago...
I was a reviewer for Tony Gaddis's first edition. My name is still listed amongst all those who reviewed previous editions.

I'll be teaching a first course in C++ at a local CC next quarter (spring), and the textbook to be used is "Problem Solving with C++," by Walter Savitch. One of the advantages is that it's relatively inexpensive (as these books go). Stephen Prata also has a couple of books, "C Primer Plus" and "C++ Primer Plus." These are inexpensive, but they have too many code examples, IMO. I know that students like and appreciate code examples, but if one example is only slightly different from another, one of them could probably be removed, I think.
 
Last edited by a moderator:
  • Like
Likes   Reactions: QuantumQuest
Mark44 said:
I was a reviewer for Tony Gaddis's first edition. My name is still listed amongst all those who reviewed previous editions.

I'll be teaching a first course in C++ at a local CC next quarter (spring), and the textbook to be used is "Problem Solving with C++," by Walter Savitch. One of the advantages is that it's relatively inexpensive (as these books go). Stephen Prata also has a couple of books, "C Primer Plus" and "C++ Primer Plus." These are inexpensive, but they have too many code examples, IMO. I know that students like and appreciate code examples, but if one example is only slightly different from another, one of them could probably be removed, I think.

I also have Savitch's book, good, but I like Gaddis's better. Since I used Gaddis in a course I was taking, I know where to find the info I need faster than Savitch. Either is a good text to learn from.
 

Similar threads

  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 36 ·
2
Replies
36
Views
5K
  • · Replies 39 ·
2
Replies
39
Views
9K
Replies
11
Views
839
  • · Replies 7 ·
Replies
7
Views
8K
  • · Replies 9 ·
Replies
9
Views
12K
Replies
12
Views
10K
Replies
69
Views
10K
  • · Replies 12 ·
Replies
12
Views
4K