Stan Lippman On Version 2 Of Managed C++
Lansdowne writes "Stan Lippman, one of the founding fathers of C++ and currently a language architect at Microsoft, has prepared an exhaustive translation guide, comparing old Managed C++ to the revised CLI/.NET version of C++. According to Lippman, "There are a number of significant weaknesses in the original language design (Version 1), which we feel are corrected in the revised language design (Version 2).""
better colors
I hope the Mono project will support this?
I believe that this is a real standard, whereas VB.NET (which Mono supports) is not a standard at all.
I'm in the middle of a project using a rather large amount of Managed C++ glue to bridge a native C++ library with .NET. Obviously I can't wait until VS2005 is out to use the new syntax, but I'm going to have to redo a lot of it in the future.
I'm not complaining about the new syntax, though - what I've read about it seems like it's much cleaner and better thought out than the current stuff. I just wish it was here now so I could use it instead of having to rewrite it down the road.
Why can't they just change their compiler to generate managed code? Why do they need to change the syntax of C++ at all? In the open source project I work on we use the Boehm garbage collector for C++. So the number one reason to use managed code, automatic memory management, is already available to us. It would be nice if we could just recompile with some settings under VC++ and get a managed version to compare against Boehm. Of course, we'll need to be able to mix safe and unsafe code as our project is a little heavy on the bit manipulation side.
How we know is more important than what we know.
Someone remarked the other day, possibly on this very board, along the lines of "the C++ standardisation committee is now full of template-loving metaprogramming fans" who are more concerned with fixing their pet superlibraries than they are with fixing the more glaring flaws in C++ as a modern programming language. I'm sure anyone who follows developments around the language, particularly the serious Usenet groups, will see at least an element of truth in that claim.
This is almost worse, though. We now have at least two of the biggest names in C++ -- Stan Lippman and Herb Sutter -- following the Microsoft banner. At first, I figured that would be good for the language, driving up standards compliance in one of the most popular implementations, Visual C++. Now I begin to suspect that it's just another Embrace And Extend(TM) manoeuvre.
The first round of "Managed C++" needed horrible syntax kludges, because C++ is simply too flexible a language to become another .Net language clone like C# or VB.Net. At least it was fairly standard-compliant before, though. Now, if you thought VC++ 6's for loop scoping bug was annoying (and having fixed numerous bits of code broken in that way that failed on other compilers, I promise you it can be very annoying) that's going to be nothing: at Microsoft, they care about standards compliance, but not so much that they won't add random extra keywords to the language! I fail to see how this will be any better than back when Borland used to add properties and such, and then anybody wanting to move away from their component libraries was screwed.
C++ sucks if you want to use .Net anyway; if that's the sort of programming environment you want, why not just use C# and be done with it? For all Microsoft's banter about interoperability, no-one who's got 100,000 lines of MFC code and a workforce trained to maintain it is really going to change to .Net overnight. Technologies like that are for new projects, started from scratch and able to match the architecture from the ground up, not for random porting exercises of existing code.
Ultimately, managed C++ is just another lock-in technique, but it's sad that it's apparently being supported so enthusiastically by people who used to know better.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
I thought the founding fathers of C++ were Bjarne Stroustrup.
Look at the .NET versions of Visual Studio, and see how the C++ has been rammed right to the bottom in terms of features, while visual basic and C# (ACK) have all the actual useful stuff. (Forms designer, for one).
I mean, I love writing C++ and having to remember a million different __gc __huhwhut __whynotthistoo in front of all the declarations. Completely *unportable* code.
Microsoft is attempting to end the usefulness of C++ on Windows, and I think with VS2003 they did it.
I really think they should of called it something better than managed C++, pick an animal or something.