Wednesday, May 25, 2005, 7:02 AM
C++ is dead, long live C++!
Congrats to the VC++ 2005 team for a write-up like this!
"The truth is that this new development in C++ seriously undermines the justification for C# as a language. C++ programmers yet to learn C# simply don't need to now. What's the point? They will find the full productivity of Visual Studio 2005 right there at their fingertips supporting the language they know and love. Why should they move to something that is slower and less feature rich?"
He goes on with choice words about those of us that use C# as either "poor folk who have already invested time in it," "Java types moving to .NET and smart enough to avoid J#" or "dev-celebs and style gurus will realize that it’s in their interest to keep pushing the C# fashion wagon." I don't know which camp I fall into, but I love the phrase "dev-celeb!" : )
I remember being in a conference room many years ago with about 10 members of the VC++ team on one side of the table and me on the other with them drilling me for about an hour on what would it take for me to love C++ and give up C#. I asked for the power and performance of C++ and the simplicity of C#. According to The Grumpy Programmer, they've not only delivered on this promise, but
"the painful, balls-on-the-table truth is that C# has lost its point."
Luckily, no one asked me to put any of my body parts on the conference table that day, but you gotta love a guy that can turn a phrase like that. : )
21 comments on this post
Andrew Webb:
Wednesday, May 25, 2005, 8:07 AM
Rich:
I don't even care what they've done with it and won't bother to look. In my 3 years of C# development (following 10+ years of C++ work) I can't think of a single day where I've thought to myself "gee, I wish they'd make C++ better because C# doesn't let me...".
IMO, C++.NET is the product nobody wants. The world's moved on and C++'s glory days have long since passed.
Wednesday, May 25, 2005, 8:26 AM
Anonymous Coward:
Wednesday, May 25, 2005, 9:29 AM
Chris Sells:
Wednesday, May 25, 2005, 11:38 AM
Sam Gentile:
Wednesday, May 25, 2005, 12:02 PM
Brad Wilson:
Wednesday, May 25, 2005, 12:11 PM
Justin Rudd:
Wednesday, May 25, 2005, 12:14 PM
Ian Ringrose:
I offend have agents phone me up about well paid C++ jobs. Until a few years ago I as one of the best C++ programmers out there, so could command good rates. Hence I have paid of my mortgage and therefore I have need to put up with C++ anymore.
I have had to work on too match badly written C++ code over the years, every place has good and bad programmers. I rather work on badly written C# any day, an unskilled C# programmer can do a lot less harm! And as he will not be messing up the memory that my classes use, I will not get blamed for his bugs!
The best C++ programmers on NT have mostly moved to C# now, I do not want to have to work with the C++ programmers that are not good enough (or willing) to retrain in C#!
Ian Ringrose
www.ringrose.name <- email on website
Thursday, May 26, 2005, 3:01 AM
Gretchen Smith:
I also don't appreciate the attitude that you can't possibly be a great programmer if you use C# -- that too is a bunch of bull. Our company produces great products and much of our success producing large scale developments for fortune 100 companies is due to adoption of C# as our language of choice in 2001. We have a nucleus of programmers that I would consider among the best anywhere. Not a one would beg to return to C++.
There is nothing magical about the "new" C++ in VS 2005 that will ever convince us to return to the 'old days'.
Thursday, May 26, 2005, 5:18 PM
Matt:
C++ does seem to be back in vogue in certain sectors
Friday, May 27, 2005, 1:57 AM
Keith Patrick:
1. In .Net 1.0, you couldn't write full apps in C++, as the windows service installers weren't verifiable and thus couldn't install the app; I wasn't going to have a mixed-code app written by one person
2. Managed C++ is (or was) hideous to look at and figure out. It took me over an hour just to figure out how to get a C++ class written to .Net (IIRC, the docs kept talking about the "gc" macro, but I had to look at source code to realize it was "__gc". Those macros all over the place make the code nearly unreadable (but so much of custom C++ code is like that, really)
3. There wasn't any sample code in C++. MSDN is my lifeline for developing, and if I don't have it, I'm crippled. It was too much of a pain to mentally convert VB or C# to C++ every time I wanted to figure out how to do something complex.
#2 is the main reason I won't go back to C++, though. #1 I think is already fixed, and I'm sure #3 is or will be before too much longer, but Managed C++ has no positive visual asthetic for me, and it's a headache to mentally parse.
Friday, May 27, 2005, 10:43 AM
Wil:
Friday, May 27, 2005, 12:23 PM
alohabob:
Friday, May 27, 2005, 6:35 PM
Nish:
Monday, May 30, 2005, 10:00 PM
Nish:
Monday, May 30, 2005, 10:00 PM
Sean:
Tuesday, May 31, 2005, 11:23 AM
Donnie Hale:
Tuesday, May 31, 2005, 1:02 PM
Keerthi:
C++ was never a marketed language like C# or Java. People started adopting it, and the community grew stronger. Nobody forced them to do so either.
"C++ is dangerous" - is like saying "driving is dangerous". You better drive properly or don't drive. I mean, use C++ properly or better don't.
C++ lost its picture in the hall of fame when .NET was the game of the day. But with C++/CLI, I hope things will get a better shape for C++ devs. Putting modern things into a language that is 20 years old is pretty hard and we should appreciate how the VC team has managed to incorporate such things into C++.
As a programmer I am not against any language/platform. But things like "C++ is dead" are not really correct as there are quite a high number of platforms/systems which rely on C++.
Friday, Jun 3, 2005, 9:16 AM
Grumpy Old Programmer:
Wednesday, Jun 8, 2005, 7:10 AM
Jon:
There are a whole lot of people out there who don't give a damn about business apps and use C++ for all kinds of other things not suited to C#. Like writing operating systems, wrting games like Doom 3, writing for game Consoles...
C++ is not dead by a long way. That's all I wanted to say.
Monday, Jun 20, 2005, 8:37 AM
Arthur:
For most of the desktop and server applications there is of course a nice justification choosing C# (or a comparable language). The learning curve of C++ is much steeper, and programmers have to focus on 'system' programming (resource management, etc), in stead of application programming. Which of course results in lower development and maintenance costs. However, using a language that runs on an 'intermediate' platform such as .NET, means that, how attractive it may be, you're just adding another layer and its overhead to your system. When you really need hardcore performance, for instance in some realtime systems, I think that C++ is still a good choice. Therefore C++ is not entirely dead, but just a less attractive language for the development of the major part of software solutions.
Monday, Sep 26, 2005, 10:18 AM




