Learning VC++

Posted on 1997-04-19
Last Modified: 2012-05-04
I have recently learned "C" and wish to now
teach myself Visual C++. I have picked up the MS press book "Learn Visual C++ Now" and have the "Visual C++ Tutorials" that came when I purchased Std edition VC++. However, the first seems to primarily teach the IDE, rather than
C++, since only 2 chapters are devoted to the language. The latter seems somewhat terse. I don't want to spend a lot of time spinning my wheels, nor getting turned off because I'm using the wrong materials.

I also have Schildt's book "Teach yourself C++" which is generic, rather than specific to Visual C++. I would appreciate some guidance and direction as to
how to proceed: Should I start with generic C++ (Schildt) and then only go to VC++ specific materials, or can I bypass the generic stuff, and go straight to the VC++-specific material? If the latter, any advice on which book I should
start with?

The question is compounded by the fact that if I start with a generic book (Schildt or whatever you recommend), I can't do practice examples unless I learn to use VC++.

Restating my question(s) to make it clearer, should I start with VC++ or generic? If VC++, is "Learn Visual C++ Now" worthwhile? If not, what book should I use instead?
If the answer is "generic", should I use the Schildt book or another? If another, which? I have seen recommendations for "Thinking in C++", "C++ Primer", "Beginning Visual C++" by Horton (I guess not generic). I used "New C Primer Plus" by Waite and liked it a LOT.

Thanks in advance.

PS: If possible, I need an answer ASAP as I need to get started.

Question by:bigfish
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2

Expert Comment

ID: 1162855
The best way for learning VC++ is to find someone how knows it and has the time to show you the basics.  Most books copy the VC++ on line help. However, two that I use for reference give the information in a logical and staight forward aproach.  These are "The Microsoft Windows 95 Developer's Guide" and Programing Windows 95 with MFC" by Prosise.  If your talking about using the VC++ interface use the tutorial book that came with it.  It sucks if you want to learn MFC but shows how to move thru the interface farly well.

Author Comment

ID: 1162856
The answer was to a question I didn't ask, i.e., What in your opinion is the best way to learn VC++. Unanswered is 1.) Should I start generic or VC++ specific? 2.) If VC++, is the book I have any good, or should I choose another, and if so, which? 3.) If the answer is I should start generic, which book and how do I do book exercises without first learning VC++, my only compiler.

Accepted Solution

rajesh032097 earned 60 total points
ID: 1162857
I assume you are talking about VC++ 4.x.
If you want to learn VC++, use material specific to VC++. Why generic? Remember, VC++ is a tool. Essentially it is a windows programming tool using C++. It provides you a class library which facilitates windows programming and also makes our programs more "object oriented". It tries to encapsulate windows programming intricacies so that one can concentrate on just one's application specific programming. So, to exploit these features VC++ claims to have, one should start developing an application ( however small or elementary it might be).
The books which I found useful are as follows:
1. VC++ tutorial ( to start with )
2. Revolutionary guide to MFC programming with Visual c++ , by Mike Blaszczak , a leading MFC developer of Microsoft. This book gives a very nice Birds's eye view of almost all regulary used & needed features of MFC.
3. Visual C++ Master Class. This is a bit fro advanced programming topics such as COM/OLE. But the contents and sample programs are very good.
4. MFC internals by Scott Wingo. I have heard about this book a lot but personally haven't used it. This book represents internal details about implementation of MFC.
I hope this satisfies you.
Good luck.

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 1162858
Reasonable answer, and Rajesh did address the question. Interesting to note that I posted the same question on Usenet/C++, and got the opposite answer - The answer there was first learn C++ (Generic) and then learn VC++, which is a particular environment, and then learn MFC, because if I try to learn them all at once, I could be overwhelmed. They separated laerning Windows and MFC programming from learning C++, whereas Rajesh feels that I can go direct to VC++, without first learning the C++ language. Any follow-up comments, Rajesh?

Expert Comment

ID: 1162859
It depends on what you want to achieve. It's true that logically without learning C++, one should not go for VC++. But the fact is that person knowing C would need to know just the new syntax and features added to the "better C" so called by the designer of C++, i.e., Stroustrup. But, to have a real confidence on what you are doing, one has to learn C++ thoroughly. And according to my opinion Bjarne Stroustrup's "The C++ Programming Language" is the best book to begin with, but certainly not sufficient, especially considering continual growth of C++ and additions to it.
But, one's goal is just to be an expert in VC++, he can just understand the new features/syntaxes of C++ and go ahead. In fact the more you code in VC++, your C++ concepts also would get strengthened and learning C++ later might become much simpler after being familiar with it through C++. I have a friend with me who had to start with VC++ 4.2 directly even without being aware of many C++ features but still in the development process he didn't face any problems. But, honestly let me admit that unless one understands C++, he won't feel that confident in VC++, and also more you understand C++, you will enjoy using C++ tools such as VC++.
I hope you get my point.
Good luck.

Author Comment

ID: 1162860
Thanks for your comments Rajesh. I've decided to start with "generic" C++ and learn the syntax and structure and then move on to VC++. I will, however, have to learn a little VC++ just to be able to use the compiler to do the problems in the book.
No one seemed to have anything to say about the "Learn Visual C++ Now" book, so I will trade it in for another. I find the Schildt book difficult to follow, compared to, for example, "C Primer Plus", so I may choose another - either Lipmann's C++ Primer or the Waite Group's "C++ Primer Plus", since I liked their C book. I will also check out Ivor Horton's book, which supposedly combines C++ with Visual C++.
Your comments on MFC vs. the API were particularly helpful. My goal is proficiency in VC++, because I would rather be in windows than Unix :>).

Thanks for your help.


Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Often, when implementing a feature, you won't know how certain events should be handled at the point where they occur and you'd rather defer to the user of your function or class. For example, a XML parser will extract a tag from the source code, wh…
IntroductionThis article is the second in a three part article series on the Visual Studio 2008 Debugger.  It provides tips in setting and using breakpoints. If not familiar with this debugger, you can find a basic introduction in the EE article loc…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question