Fog Creek Software
Discussion Board

Welcome! and rules

Joel on Software

C++ .NET

I have read a little bit about this from Microsoft but I want to know from people who have used it. What does C++ .NET offer over the other .NET languages. Is it possible to create enitrely .NET objects in C++ .NET that have the same raw speed as native C++? I am just confused as to what the capibiliteis of C++ .NET are.

Thursday, November 07, 2002

If I understand it correctly, using C++.Net should be no different than any other .Net enabled language, with the exception of syntax.  They should all compile to the same MSIL code and run at the same speed.

Thursday, November 07, 2002

More like 'similar code will produce similar IL with trivial differences in speed'.

But managed C++ is, for the most part, a tool to be used when you need to integrate managed code and unmanged code, and need a lot of control over the particulars. It's expected that you'd use C# for an all-.NET project.

Dave Rothgery
Thursday, November 07, 2002

Following up my first paragraph, there are two major things that can cause performance differences among .NET languages.

1) Language constructs don't always have exact mappings between languages.
2) Optimizations vary among compilers.

Dave Rothgery
Thursday, November 07, 2002 or MC++ provides improved performance capabilities when it comes to interoping with COM Components like for wrapping Direct X etc.
Another subtle difference as per the current release it doesnt support CodeDOM a feature which helps you in generating MC++ code through Designers, so it cannot be used in nor does it support a UI Designer. So all the UI code you write is on a trial/error basis as far as docking/positioning is concerned.


Kannan Kalyanaraman
Friday, November 08, 2002

You may want to see the new features of Everett C++

Sam Gentile
Monday, November 11, 2002

As far as I know, VC++.NET is the only language in VS.NET that supports compilation to the native code. Probably this is the most important feature of VC++.NET.

Mikhail Andronov
Wednesday, November 20, 2002

Although, of course, at the point where you're compiling to native (unmanaged) code, you're no longer really working with .NET.

Mike Gunderloy
Wednesday, November 20, 2002

Not neccesarily. You can use pragma managed and pragma unmanaged to combine native and managed code in the same .NET assembly. Its not that simple.

Sam Gentile
Wednesday, November 20, 2002

*  Recent Topics

*  Fog Creek Home