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

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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.


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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
TCP/IP Socket - connection close results in data lost 14 140
PDF library for Delphi 2 128
getting a fire fox page (view page source ) in c++ 6 42
Path to  STL Map header file 1 69
Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
This article shows you how to optimize memory allocations in C++ using placement new. Applicable especially to usecases dealing with creation of large number of objects. A brief on problem: Lets take example problem for simplicity: - I have a G…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

808 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