Discussion Overview
The discussion revolves around resources for learning the C++ programming language, particularly focusing on free options and recommendations for books, tutorials, and other materials. Participants share their experiences and suggest various resources, addressing both beginners and those with some prior programming knowledge.
Discussion Character
- Exploratory
- Technical explanation
- Debate/contested
Main Points Raised
- Some participants recommend specific websites such as firecode.io, rosettacode.org, and w3schools for learning C++.
- One participant emphasizes the importance of having a solid book for learning C++, suggesting Deitel's "C++ How to Program" as a good resource.
- Another participant mentions the value of studying algorithms and data structures alongside C++.
- There are mixed opinions about Herbert Schildt's "C++ - The Complete Reference," with some participants criticizing its technical accuracy and organization, while others found it helpful.
- One participant suggests that learning C++ can be challenging for absolute beginners due to its complexity and recommends a systematic approach to studying.
- Another participant mentions the potential benefits of using an Arduino kit for practical experience, although they note it is not a free resource.
- Several participants highlight the importance of developing good programming habits, such as commenting and documenting code.
- Some participants recommend additional books like "Accelerated C++" by Koenig and Moo and "Code Complete" by McConnell for improving programming skills.
Areas of Agreement / Disagreement
Participants express a range of opinions on the effectiveness of different resources, particularly regarding Herbert Schildt's books. There is no consensus on the best approach or materials for learning C++, indicating multiple competing views.
Contextual Notes
Some participants note the limitations of relying solely on tutorials and emphasize the need for structured learning through books. There are also references to the varying levels of programming experience among learners, which may influence the choice of resources.