Jim said:
I want to do driver development and activeX creation......what would
you suggest as far as the best/fastest path to learning C++ for these
tasks?
For general C++ development, the fastest way to learn, IMO, is to write code
and have it critiqued by others. There are literally dozens of excellent
texts on C++ programming, get several of them and start reading. Start
reading comp.lang.c++.moderated. Perhaps there's a computer club in your
area where there are other C++ developers who can help. Read everything on
www.gotw.ca (be sure to read the older stuff first or you'll be in over your
head quickly). Visit
http://www.parashift.com/c++-faq-lite/ frequently.
Some reading recommendations:
Bruce Eckels "Thinking in C++"
Andrew Koenig "Accelerated C++"
Scott Meyers "Effective C++"
Scott Meyers "More Effective C++"
Scott Meyers "Effective STL"
Herb Sutter "Exceptional C++"
Herb Sutter "More Exceptional C++"
Herb Sutter "Exceptional C++ Style"
Matt Austern "Generic Programming and the STL"
Andrei Alexandrescu "Modern C++ Design"
(If you work your way through Eckels and Meyers you'll be up to speed on 95%
of the language. The other books teach advanced styles and idioms that
you'll appreciate more after you've done without them for a year or two).
and for reference books:
Bjarne Stroustrup "The C++ Programming Language, 3rd Edition"
Nicolai Josuttis "The C++ Standard Library"
Nicolai Josuttis and Daveed Vandevoorde "C++ Templates"
Angelika Langer and Klaus Kreft "Standard C++ IOStreams and Locales"
Once you have a firm grasp on the C++ language, you can tackle ActiveX and
other platform-specific technologies.
The general rule of thumb is that it takes the typical programmer 2 years to
become a proficient C++ programmer. Note that if you do follow the course
of study above, you'll learn more than 90% of the people writing C++ today.
The vast majority of "C++ Programmers" are really doing strongly typed C
with code roughly arranged into classes.
If you want to do driver development, you need to learn C, not C++. Expect
to spend 6-24 months learning the DDK after you're very comfortable with
programming in C. Learning C++ and Object Oriented design first would help
somewhat because the DDK is highly object-oriented even though it's exposed
only in C.
-cd