C++ Unmanaged and Managd your opinion

Started by
10 comments, last by evolutional 19 years, 6 months ago
Hello, I am currently a C# programmer and I am thinking about starting C++ full time. Although C++ isn't very good at window forms or dialogs because it either uses MFC or that rock solid pure API business. My question is if I use C++ .NET for windows forms can I still produce unmanged "REAL" C++? I am not a big fan of what I call fake languages "Visual Basic" etc. They are not really used in industry and I want to start learning something which is used in industry and is seen as a real language. Who here uses managed C++ in the code? I don't really understand MFC or the nasty unfriendly windows API so I want to be given a head start by using windows forms but I want to learn real C++ not just .NET. I am not interested in Console applications because I can easily make them in native C++. I enjoy designing and creating Windows Forms but I want to know all your opinions first! Thanks, Rob
Advertisement
It all comes down to what you want to do in the future, and what your needs are. For example, if you want to be a professional games developer, your statement that "Visual basic is a fake and useless language" would be true. If you want to be a Windows application developer or a web developer, it would be a shameless lie. With that in mind, yes, you should learn C++ if you intend to do some serious game developing because everyone else on the field knows it. C++.NET might be a good place to start since you already know C#. You can seamlessly combine "real" c++ with C++.net (native and managed code at the same time). I'd suggest you buy a good book in C++ only (I haven't found a great book in C++.NET) and you work out the details of C++.NET on your own, using MSDN.
C++ will be a major language for .NET. You just have to wait for Whidbey to come out (or use the free downloadable Express product which is a beta).

MC++ (the version of Managed C++ in VC++.NET 2002 and 2003) is an ugly version of C++ for .NET which is pretty hard to use and very unfriendly for beginners.

The new version of C++ for .NET called C++/CLI which will be in Whidbey is a major revision and seems very promising.

Microsoft is very, very, very set on making C++ THE major language used for major programming on the .NET platform as well as THE language for all future native programming on Windows.

All in all, coming Whidbey C++ gives the most options: native console C++, native Win32 apps, native MFC apps, native ATL apps, native ATL Server apps, and the new hot C++/CLI which is managed C++ using WinForms and the whole of BCL.
"We confess our little faults to persuade people that we have no large ones." -Francois de La Rochefoucauld (1613 - 1680). | My blog
I've just been playing with MC++ and didn't like it too much. I think for now, I'll wait until VS2005 and the release of .NET 2.0 to use C++/CLR which looks a lot nicer and more like the managed C++ I expected.

EDIT: To add a couple of useful links
Intro To Managed C++ Part 1
Intro To Managed C++ Part 2 - Mixing Managed and Unmanaged Code
GotDotNet - MC++ Section
CodeProject - Managed C++ Tutorials, Code and Articles
I've never understood the love for C++ as a language.

Then again, I'm not into masochism...
Quote:Original post by evolutional
I've just been playing with MC++ and didn't like it too much. I think for now, I'll wait until VS2005 and the release of .NET 2.0 to use C++/CLR which looks a lot nicer and more like the managed C++ I expected.

EDIT: To add a couple of useful links
Intro To Managed C++ Part 1
Intro To Managed C++ Part 2 - Mixing Managed and Unmanaged Code
GotDotNet - MC++ Section
CodeProject - Managed C++ Tutorials, Code and Articles


Some very good links indeed. I would strongly discourage to begin learnng MC++ though. It will be oboslete and replaced by C++/CLI. Take a look at: A first look at C++/CLI.

Quote:Original post by Oluseyi
I've never understood the love for C++ as a language.

Then again, I'm not into masochism...


No, if MS would have embraced Pascal/Delphi more than C/C++. Oh well no use in whinning I guess :)
"We confess our little faults to persuade people that we have no large ones." -Francois de La Rochefoucauld (1613 - 1680). | My blog
Quote:Original post by rob64464
... that rock solid pure API business ...

... I don't really understand MFC or the nasty unfriendly windows API ...



If you don't understand the API then you don't really understand how it is that Windows works underneath all of those wonderful class libraries.

I have changed my opinion alot in the last few months on the .NET architecture, but only because use of it obviates many of the development issues faced by "code monkeys"; if you are an actual application designer one would expect you to have a better understanding of the environment you are targeting for your applications.

Just my opinion, for what its worth.
Quote:
if you are an actual application designer one would expect you to have a better understanding of the environment you are targeting for your applications.



Again, it depends on what type of application you're developing. I don't think anyone's complaining about mobile ASP.NET abstracting the details of cell phones, PDAs and other devices. Using it I can create applications that run on all different kinds of mobile devices (ok, I haven't tested it on all of them, but in theory the idea of abstraction is great).
Last time I checked, you can use the .NET forms with Visual C++ .NET.
So will MC++ be standard C++ (with the complete STL) compiled for the .NET VM?
-- Single player is masturbation.

This topic is closed to new replies.

Advertisement