C/C++ [C++] Learning a programming language

Click For Summary
The discussion centers on the best approach to learning C++ after grasping the basics, including I/O, conditionals, and pointers. One option is to study a comprehensive textbook like Bjarne Stroustrup's, which is highly regarded as a reference for C++. However, there's a suggestion to also engage in practical problem-solving through platforms like Project Euler, which can enhance coding skills through real-world applications. While Stroustrup's book is valuable, it may not be ideal as a primary textbook for everyone. An alternative recommendation is a book by Koenig and Moo, which focuses on using the C++ standard library and encourages a progressive learning style. It's noted that Project Euler can be quite challenging, often requiring more mathematical knowledge than programming skills, which may discourage some learners. Overall, a combination of structured learning and practical coding exercises is suggested for effective mastery of C++.
trollcast
Gold Member
Messages
282
Reaction score
13
I'm trying to learn C++ at the minute and I've managed to get over the basics, I/O, Conditionals, Repetition up to and a bit of pointers.

Now what I'm wondering is should I get a textbook that is solely on C++, eg. Barjne Soustroups one, and learn specifically C++.

Or learn by doing problems on places like Project Euler and prehaps maybe a book on another topic that's written in C++, specifically something like this: https://www.amazon.com/dp/032144146X/?tag=pfamazon01-20 , and learn from the code examples and practice?
 
Last edited by a moderator:
Technology news on Phys.org
The best way to learn how to write code is to write code. Pick some problems that you are interested in and try to write code to implement these problems.
 
trollcast said:
eg. Barjne Soustroups one

You mean this one?

https://www.amazon.com/dp/0321543726/?tag=pfamazon01-20

I haven't seen it myself, but it's gotten good reviews on Amazon, and I think anything Stroustrup writes about C++ is worth reading. I see a new edition of his "bible" is coming out in May:

https://www.amazon.com/dp/0321563840/?tag=pfamazon01-20

I wouldn't use it as a textbook, although some people claim to have done that. I think of it as the ultimate reference. Over the years, previous editions have been my "go-to" book when I want to refresh my memory about some C++ feature.

Depending on your learning style, you might also consider https://www.amazon.com/dp/020170353X/?tag=pfamazon01-20 by Koenig and Moo. Its strong point is in learning how to use the standard "containers" in the C++ standard library, or what many books still call the "STL" (Standard Template Library): vectors, lists, etc. instead of plain old arrays. It's all based on one or two examples which are developed progressively in succeeding chapters, instead of using free-standing examples in each chapter. So it's best read through (and worked through) from beginning to end, which isn't good if you like to jump around depending on which topic catches your fancy at the moment.
 
Last edited by a moderator:
trollcast said:
I'm trying to learn C++ at the minute and I've managed to get over the basics, I/O, Conditionals, Repetition up to and a bit of pointers.

Now what I'm wondering is should I get a textbook that is solely on C++, eg. Barjne Soustroups one, and learn specifically C++.

Or learn by doing problems on places like Project Euler and prehaps maybe a book on another topic that's written in C++, specifically something like this: https://www.amazon.com/dp/032144146X/?tag=pfamazon01-20 , and learn from the code examples and practice?

Trying to learn C++ by doing Project Euler is going to discourage you quite a bit. It's not an easy task. Project Euler is very difficult (at least it was for me). It requires better knowledge in math than it does programming, and I'm the other way around.
 
Last edited by a moderator:
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

Replies
86
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 133 ·
5
Replies
133
Views
10K
Replies
69
Views
10K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 397 ·
14
Replies
397
Views
20K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 7 ·
Replies
7
Views
1K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 16 ·
Replies
16
Views
2K