-
OK, here's what I think. C# programming for WIndows is MUCH better than C++ on the GUI scale. Very fast, and the object-oriented aspect of C# is just wonderful. I am an OOP fan by the way. For speed, graphics, or anything that gets "nitty-gritty" so to speak, ya gotta have C++.
Another aspect that you have to realize is ability to distribute. C++ is VERY portable. Most machines can run it without any modification. C#, on the otherhand, isn't very easy to distribute...yet. The target machine has to have .NET installed and most likely has to be Win98, WinXP, Win2000 to run (people are saying that they are getting it run on other OS's too). I've also heard (again, not sure that its true) that you can only develop for C# in WinXPPro (please don't jump on me if i'm wrong!).
ANyways, that's my opinion.
-
The .NET Framework runs on anything Windows, except for 95, which is triple outdated anyway. You can develop on any of those, though Visual Studio will only run on 2K or XP ( any version I guess ).
>C++ is VERY portable. Most machines can run it without any modification.
This is the theory. As soon as you get into the world of windows, be it MS Windows, X or Mac stuff, C++ isn't portable at all. You either have to use another kind of framework, like qt, or you have to develop for one OS only.
-
I read somewhere that Microsoft was attempting to preserve Win32 interfaces in the .net base class library. That would mean that you could learn Win32 API function names and .net BCL methods, at the same time. I'm not sure how true it is, but it would be a good idea if it were true. Since Win32 is just an interface I'm not sure if it would be important to learn so long as .net BCL provides all of the functionality that you need. Apparently is does not accomplish this yet, however it will be updated again this year and following. A framework is indepentend of Microsoft, you can be sure of that. It is actually a good thing and it is heavily related to OOP design. I am starting to believe that when you use the Microsoft OS it isn't a bad idea to go with whatever they are selling and supporting.
Standard C++ is a totally different subject than what we are talking about here.