What are some good open source projects to study for good C++ practice? I guess Boost is good for templates and stuff, but which of the Boost libraries should I start with? What about good examples of OOP?
What are some good open source projects to study for good C++ practice? I guess Boost is good for templates and stuff, but which of the Boost libraries should I start with? What about good examples of OOP?
I see. So do you have an alternative suggestion? Or should I just stay ignorant?
None. (Three that I know of, but they are no longer online, and even then they were designed as college projects specifically to be learning tools.)What are some good open source projects to study for good C++ practice?
Real life projects solve real life problems using real life tools. Reading "Boost", since you brought it up, will not teach you how to do the things you may wish to learn how to do because, again, they have to deal with the real world. (Honestly, that can't be said enough.) The source isn't 100% conformant C++. Instead, the source is 120% or 80% depending on your perspective. The code is cramped with coverages, tweaks, little fixes, and odd little mechanisms to allow the code to work with a lot of different compilers each having different characteristics that must be handled. You'll be covered just trying to follow the logic of these little bits of non-conformant C++ scattered around.
Do yourself a favor and read these books, and if possible, do every single exercise. When you are done, you'll be able to read any code you want. You'll know what code is standard. You'll recognize code characteristic of code that has been changed to pacify some compiler. You'll certainly know templates, and you'll certainly know "OOP".
If at that point you want to read source from a project for practice, you'll have no reason not to do exactly that.
Soma
Accelerated C++
The C++ Standard Library
Effective C++
More Effective C++
Effective STL
Exceptional C++
More Exceptional C++
Exceptional C++ Style
C++ Templates
C++ Template Meta-programming
This is what I want. Books and exercises show things in a sandbox. OOP examples are the worst because they are contrived and unrealistic. I can tell you how OO works in C++ but I am not confident I can write good OO code.Real life projects solve real life problems using real life tools.
The only book on that list I have not read is C++ Template Meta-programming. I think I understand C++ enough to read real life code, and I want to look at the best code possible. That is my question, which projects are the best examples of good C++ that I can read to take myself to the next level?Do yourself a favor and read these books, and if possible, do every single exercise.
One might also suggest that the best way to learn a language is to write it... C++ is no exception. The big problem with reading or viewing is retention... most readers actually retain about half of what they read, people watching videos often retain far less. By writing the language retention rates are much higher... Back in my high school days our French teacher gave us a long assignment --issued mid-year due before finals-- to write an essay about our neighborhoods in French. I learned more from writing that essay then I did from the entire year of French classes.
To learn C++ write C++
Last edited by CommonTater; 06-01-2011 at 07:26 AM.