devxlogo

How to move from beginner to intermediate C/C++

How to move from beginner to intermediate C/C++

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.

  1. 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.

  2. 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.

  3. 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++.

  4. 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.

devx-admin

Share the Post: