waradmin wrote:Alright, I am a first year Computer Science major at the University of Minnesota Duluth, and my first major class is my:
Computer Science 1511: C++
Our text book is straight classic C++ code, however the professor made the class a focus on Visual C++ vs traditional C++ basicly limiting the coding we are learning down to the windows environment.
Any other Computer Science major's now stuck learning Visual C++ and not traditional C++? Seems very strange to me that in a lecture hall of 250+ people, Visual C++ is what we are learning, vs. the cross-platform plain C++ language.
Different and perhaps strange, but a smart move.
Visual C++ is the most popular development language and platform/IDE available today. Yes C# is gaining ground but MC++ exists for a reason, because M$ realized they almost have to support it.
There are literally millions upon million of lines of code written in VC++. Infact something like 90% of Windows based applications are done in Visual C++ and would suggest that M$ themselves use it almost exclusively in all their code (particularly in legacy appllications).
Visual C++ has it down sides from an academic standpoint however.
================================================
1) It hides a lot of SDK detail from you, using high level C++ API's
2) Visual C++ supports non-standard keywords, etc. I'm trying to think of an example, but none come to me at the moment. I have heard however that VC++7 compiler is waaaay more standards compliant, if not 100% compliant. So it depends on your version.
MFC will complicate matters quite a bit when compared to console application code. Working in a event driven environment does change they way you solve problems, as messages need to be mapped to objects and done so preciously (sp?) and other confusing matters such as distinguishing a Windows class from a C++ class (MFC hides most of this from you)
There is little argument that M$ atleast cranks out some of the best IDE's available. So this could be advantageous as a student.
Otherwise, much of what you learn will apply to standard C++. I've easily made the transition from MFC to OWL (actually the reverse) and now into wxWindows and GTK+ for cross platform development.
Most C++ frameworks all base themselves after a MVC architecture and use event handlers similar to each other. Yes there are differences, but once you grasp the concept of the framework, that knowledge transcends nicely into others, I promise you.
It'll atleast make you capable of entering the work force after school, which is a good thing. So many times I've read in forums where a new graduate says he knows C++ but can't navigate his way about the MFC framework, basically making him useless in the real world, as most applications are written in C++ and MFC as the framework.
I suggest visiting
http://www.codeproject.com as it's best resource available (IMHO) for anything M$ and especially Visual C++
Cheers
