Question:
I am a C/C++ programmer who is moving from the beginner to intermediate level. My question is, how does one move successfully from the beginner to intermediate level?
Answer:
Hmm … interesting question.
I think I’ll just explain how I went about learning C++ and applying what I learned to gain more practice.
- I attended a class on C++ programming. This was a fairly advanced courseand by the end of it I was pretty comfortable with the type system,inheritance, virtual functions, etc.
- I started reading the newsgroup comp.lang.c++ (now comp.lang.c++.moderated) on a regularbasis to learn which problems are faced by real C++ programmers. I wouldcompile and run small example programs to see how they behave.
- As my interest in and knowledge of the language grew, I made a decission that Iwould use C++ to program any projects I had to complete for school andpersonal use. This gave me a chance to work on some fairly non-trivialprojects using C++.
- I then widened my reading to the C++ standards newsgroup, the C++ report andmany other books that were written through the years. Some books that reallyhelped me are:
- C++ Programming Language, second edition, B. Stroustrup
- Effective C++ and More Effective C++, by Scott Meyers
Then some more advanced reading, like
- Advanced C++ Tips and Techniques, by J. Coplien
- Design and Evolution of C++, by B. Stroustrup
- Design and Coding Reuseable C++, by Carrol & Ellis
- Secrets of the C++ Masters, by Jeff Alger
- Design Patterns, by Eric Gama, et al.
As far as learning alone versus a group setting is concerned, I think both aregood. I have spent a lot of time reading and programming alone and in agroup. I must admit I have had great fun reading newsgroups and solving problems out of textbooks in groups, especially if everyone is enthusiasticand has about the same level of expertise.