Finally figured out why C++ is losing the battle with C#
-
[MOD]Hey everyone, I am talking in the context of Visual Studio 2005 development here. I am well aware that C++ has its extensive uses. But for developing Windows Forms apps, VS 2005 has far better functionality for C# compared to what it has for C++[/MOD] No, it's not because C# is a better language - egad, what a thought! And no, it's not that C# is easier to learn and use, far from it in fact! The answer is - Visual Studio 2005! If you use it to do C#, it's very very hard to go back to doing C++ with it. Imagine driving an automatic BMW and then having to drive a manual Maruthi 800 (it's a car available only in India and barely fits the definition of what a car should be). VS 2005 may be slow and unstable for C++, but so far, with C# it's been astonishingly wonderful! CG often teases me saying that I am one of 5 people on earth who do C++ on .NET! I just hope the other 4 don't see VS.NET with C#, cause if they do, I am going to be the only one left :~ I don't know who to thank for this - since I have no idea who heads the VS.NET UI team in Redmond. So I'll just thank myself, and buy myself a drink today :-D Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!-- modified at 10:54 Sunday 19th February, 2006
Nishant Sivakumar wrote:
Imagine driving an automatic BMW
Now why did you have to compare it with automatic gear? You feel the real pleasure of driving using the manual stick. I hate automatics.;) :rolleyes: regards, Mircea Many people spend their life going to sleep when they’re not sleepy and waking up while they still are.
-
Hamed Mosavi wrote:
now I'm shaking and fully mixed up 'Do you think MFC and C++ will not die, yet?'
Of course it won't die. However poorer the user-experience is when you do C++, there are so many reasons to continue using MFC, ATL etc. possibly in conjunction with C++/CLI. I only do MFC at work, and I mostly do C++/CLI at home. But if I had a choice, I'd probably use C# to write a windows forms based desktop app in VS 2005. Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!-- modified at 7:58 Sunday 19th February, 2006
Nishant Sivakumar wrote:
But if I had a choice, I'd probably use C# to write a windows forms based desktop app in VS 2005.
I thought about that too, using Windows Forms in my MFC app. But the WinForms controls have failed to impress me. While the list what i can to with WinForms that i can't do with MFC is short or empty, the list what i can't do with WinForms is pretty long: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfWindowsFormsForMFCProgrammers.asp[^] Microsoft also missed the change to get me to use WinForms - there is no ribbon control. That would have been a reason to use WinForms. But it's the same as with the common controls, while their customers get controls that "don't cut it", they don't share the other controls with us. Btw. judging by Winspector Spy, the ribbon isn't even a managed control. Also knowing that WinForms is outdated with the arrival of WPF, why should i jump on the bangwagon? But judging by the Orcas CTP i doubt that i will start to use WPF anytime soon, except the memory consumption nothing else worked in the CTP for me.
-
Nishant Sivakumar wrote:
My main point was that, the C# user-experience for VS.NET is a few dozen times better than that for C++.
MS pushes C#, that's also the reason why it is included in the Express Edition and C++ not. Same think what they did with eVC, first it's free and than you've got to pay. It's the same strategy of drug dealers, where the first pill is free too. I hope that everyone who reads you post understand that it was humorous and that the message is not "use VS2005 and C#" but should be "stay away from VS2005 until SP1". But i'm not sure if this is true for users of VS2002 and VS2003, because they are buggy too and there are some improvements for .NET developers. André
ABuenger wrote:
MS pushes C#, that's also the reason why it is included in the Express Edition and C++ not.
There's a VC++ 2005 Express Edition available for free. Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there! -
Nishant Sivakumar wrote:
Imagine driving an automatic BMW
Now why did you have to compare it with automatic gear? You feel the real pleasure of driving using the manual stick. I hate automatics.;) :rolleyes: regards, Mircea Many people spend their life going to sleep when they’re not sleepy and waking up while they still are.
Mircea Grelus wrote:
Now why did you have to compare it with automatic gear? You feel the real pleasure of driving using the manual stick. I hate automatics.
In India, I've only driven manuals, and in Canada only automatics :-) Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there! -
ABuenger wrote:
MS pushes C#, that's also the reason why it is included in the Express Edition and C++ not.
There's a VC++ 2005 Express Edition available for free. Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!Nishant Sivakumar wrote:
There's a VC++ 2005 Express Edition available for free.
Including MFC? ;)
-
[MOD]Hey everyone, I am talking in the context of Visual Studio 2005 development here. I am well aware that C++ has its extensive uses. But for developing Windows Forms apps, VS 2005 has far better functionality for C# compared to what it has for C++[/MOD] No, it's not because C# is a better language - egad, what a thought! And no, it's not that C# is easier to learn and use, far from it in fact! The answer is - Visual Studio 2005! If you use it to do C#, it's very very hard to go back to doing C++ with it. Imagine driving an automatic BMW and then having to drive a manual Maruthi 800 (it's a car available only in India and barely fits the definition of what a car should be). VS 2005 may be slow and unstable for C++, but so far, with C# it's been astonishingly wonderful! CG often teases me saying that I am one of 5 people on earth who do C++ on .NET! I just hope the other 4 don't see VS.NET with C#, cause if they do, I am going to be the only one left :~ I don't know who to thank for this - since I have no idea who heads the VS.NET UI team in Redmond. So I'll just thank myself, and buy myself a drink today :-D Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!-- modified at 10:54 Sunday 19th February, 2006
Maybe if you had decent hardware, you wouldn't have performance issues with VS2005. I certainly don't have those issues. You should also qualify your choice of language. C# (and it's bastard brother VB) is the LAST language I would choose for a desktop app. If you want better performance and a smaller footprint, unmanaged C++ is the way to go. Managed C++ (or any other language for that matter) is for people who don't have the knowledge, skill, or talent to use pointers, or are simply lazy. I see managed code as a way to support outsourcing because a lot less talent is required to actually write the code. ------- sig starts "I've heard some drivers saying, 'We're going too fast here...'. If you're not here to race, go the hell home - don't come here and grumble about going too fast. Why don't you tie a kerosene rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
-
[MOD]Hey everyone, I am talking in the context of Visual Studio 2005 development here. I am well aware that C++ has its extensive uses. But for developing Windows Forms apps, VS 2005 has far better functionality for C# compared to what it has for C++[/MOD] No, it's not because C# is a better language - egad, what a thought! And no, it's not that C# is easier to learn and use, far from it in fact! The answer is - Visual Studio 2005! If you use it to do C#, it's very very hard to go back to doing C++ with it. Imagine driving an automatic BMW and then having to drive a manual Maruthi 800 (it's a car available only in India and barely fits the definition of what a car should be). VS 2005 may be slow and unstable for C++, but so far, with C# it's been astonishingly wonderful! CG often teases me saying that I am one of 5 people on earth who do C++ on .NET! I just hope the other 4 don't see VS.NET with C#, cause if they do, I am going to be the only one left :~ I don't know who to thank for this - since I have no idea who heads the VS.NET UI team in Redmond. So I'll just thank myself, and buy myself a drink today :-D Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!-- modified at 10:54 Sunday 19th February, 2006
Nishant Sivakumar wrote:
VS 2005 may be slow and unstable for C++, but so far, with C# it's been astonishingly wonderful!
It truly is! :cool: OTOH, have you encountered the problem of VS2005 hanging (CPU usage hits 10-20%) when expanding a partial class in the Class View? It seems to happen consistently for me. Since many of my classes are large enough to be distributed among several source files, I've got in the habit of staying away from the Class View, which is unfortunate since it's a useful tool. /ravi My new year's resolution: 2048 x 1536 Home | Music | Articles | Freeware | Trips ravib(at)ravib(dot)com
-
Mircea Grelus wrote:
Now why did you have to compare it with automatic gear? You feel the real pleasure of driving using the manual stick. I hate automatics.
In India, I've only driven manuals, and in Canada only automatics :-) Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!And which do you like best manual or automatic? I've driven an automatic only once and I don't like it. Manuals are my type definitely. At leat with manual you get the feeling of actually driving. regards, Mircea Many people spend their life going to sleep when they’re not sleepy and waking up while they still are.
-
Maybe if you had decent hardware, you wouldn't have performance issues with VS2005. I certainly don't have those issues. You should also qualify your choice of language. C# (and it's bastard brother VB) is the LAST language I would choose for a desktop app. If you want better performance and a smaller footprint, unmanaged C++ is the way to go. Managed C++ (or any other language for that matter) is for people who don't have the knowledge, skill, or talent to use pointers, or are simply lazy. I see managed code as a way to support outsourcing because a lot less talent is required to actually write the code. ------- sig starts "I've heard some drivers saying, 'We're going too fast here...'. If you're not here to race, go the hell home - don't come here and grumble about going too fast. Why don't you tie a kerosene rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
John Simmons / outlaw programmer wrote:
I see managed code as a way to support outsourcing because a lot less talent is required to actually write the code.
.NET is basically replacing the old, classic VB market. That's a large market -- whic is business logic/db apps. I doubt I'll see apps like Photoshop move over though. Jeremy Falcon
-
Hi Nishant, first I want to say that i have the book "Extending MFC Applications with the .NET Framework" on my desk now ;) I have to agree with you that VS2005 is poor for C++ development. Friday i've compiled a MFC project with 200'000 LOC with VS2005, it took like 10-20 times longer than with VS6. The IDE has so many glitches, easiest tasks like Find&Replace doesn't work well. But the MFC and compiler have some improvements, so for me that means until SP1 I will continue to use VS6 for development and VS2005 only to compile it when it's ready for release and testing. But I disagree with you that C++ will loose the battle with C#. Because there isn't one. C# is growing fast, but not at the expense of C++. The main competition is between C# and VB. If Microsoft decides to drop VBA with Office 12 (now officialy Office 2007, they've learned there leason from VS2005 :-D ) VB will loose popularity fast. But C# can't replace C++ that easily. First, there is a large legacy codebase, it would take years and decades to rewrite it. Second, not everything can be written in C#. Ever tried to program a device driver or microcontroller with C#? I'm also still waiting for the first .NET app that i install on my PC. Office 12? A managed wrapper for the COM interface is everything you can call .NET :laugh: AutoCAD 2006? MFC. So where are all the .NET apps? But back to the topic, i guess most C++ developers will use C++/CLI for managed code. Also as long as the .NET framework is not installed on at least 90% of the Windows PCs i won't extend my MFC app with any managed crap. There is also a great blog where MS employees bash each other for VS2005 :laugh: http://minimsft.blogspot.com/2005/11/hey-shareholders-vs-2005-is-fantastic.html[^]
here you go, a .NET 2.0 app http://www.nova-mind.com[^] download the windows version, of course ;-)
-
[MOD]Hey everyone, I am talking in the context of Visual Studio 2005 development here. I am well aware that C++ has its extensive uses. But for developing Windows Forms apps, VS 2005 has far better functionality for C# compared to what it has for C++[/MOD] No, it's not because C# is a better language - egad, what a thought! And no, it's not that C# is easier to learn and use, far from it in fact! The answer is - Visual Studio 2005! If you use it to do C#, it's very very hard to go back to doing C++ with it. Imagine driving an automatic BMW and then having to drive a manual Maruthi 800 (it's a car available only in India and barely fits the definition of what a car should be). VS 2005 may be slow and unstable for C++, but so far, with C# it's been astonishingly wonderful! CG often teases me saying that I am one of 5 people on earth who do C++ on .NET! I just hope the other 4 don't see VS.NET with C#, cause if they do, I am going to be the only one left :~ I don't know who to thank for this - since I have no idea who heads the VS.NET UI team in Redmond. So I'll just thank myself, and buy myself a drink today :-D Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!-- modified at 10:54 Sunday 19th February, 2006
Not true. C# is for people who don't know how to develop software just like VB was. It's popular for the same resons, too: lack of skill and management push to lower the cost. It also lowers the quality but quality is not important nowadays anyway. People accept a lot of substandard goods and software if it's cheaper, like things made in China that break after the first usage or outsorced software that doesn't quite work. It's a part of global process of un-developing civilization but that is a topic for a whole new discussion. Just think about that: In the 60s they could send a manned mission to the Moon and back in less than a decade. Now the plan is to do the same in about 20. Some progress, huh?
-
[MOD]Hey everyone, I am talking in the context of Visual Studio 2005 development here. I am well aware that C++ has its extensive uses. But for developing Windows Forms apps, VS 2005 has far better functionality for C# compared to what it has for C++[/MOD] No, it's not because C# is a better language - egad, what a thought! And no, it's not that C# is easier to learn and use, far from it in fact! The answer is - Visual Studio 2005! If you use it to do C#, it's very very hard to go back to doing C++ with it. Imagine driving an automatic BMW and then having to drive a manual Maruthi 800 (it's a car available only in India and barely fits the definition of what a car should be). VS 2005 may be slow and unstable for C++, but so far, with C# it's been astonishingly wonderful! CG often teases me saying that I am one of 5 people on earth who do C++ on .NET! I just hope the other 4 don't see VS.NET with C#, cause if they do, I am going to be the only one left :~ I don't know who to thank for this - since I have no idea who heads the VS.NET UI team in Redmond. So I'll just thank myself, and buy myself a drink today :-D Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!-- modified at 10:54 Sunday 19th February, 2006
I bet the C++ team at Microsoft is very disgruntled. Marc Pensieve
-
[MOD]Hey everyone, I am talking in the context of Visual Studio 2005 development here. I am well aware that C++ has its extensive uses. But for developing Windows Forms apps, VS 2005 has far better functionality for C# compared to what it has for C++[/MOD] No, it's not because C# is a better language - egad, what a thought! And no, it's not that C# is easier to learn and use, far from it in fact! The answer is - Visual Studio 2005! If you use it to do C#, it's very very hard to go back to doing C++ with it. Imagine driving an automatic BMW and then having to drive a manual Maruthi 800 (it's a car available only in India and barely fits the definition of what a car should be). VS 2005 may be slow and unstable for C++, but so far, with C# it's been astonishingly wonderful! CG often teases me saying that I am one of 5 people on earth who do C++ on .NET! I just hope the other 4 don't see VS.NET with C#, cause if they do, I am going to be the only one left :~ I don't know who to thank for this - since I have no idea who heads the VS.NET UI team in Redmond. So I'll just thank myself, and buy myself a drink today :-D Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!-- modified at 10:54 Sunday 19th February, 2006
So C++ is losing battle with C#? Maybe C++/CLI, but C# is not even fighting a battle with C++ - it is in the same class as Java and VB.
Nishant Sivakumar wrote:
VS 2005 may be slow and unstable for C++, but so far, with C# it's been astonishingly wonderful!
I haven't found VS2005 to be unstable with C++, although it is true it is a bit slow (probably because they use .NET for it ;P ). Anyway, these days I mostly use another tool[^] for my C++ development: it is fast, stable, and fun to work with :)
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
-
here you go, a .NET 2.0 app http://www.nova-mind.com[^] download the windows version, of course ;-)
Super Lloyd wrote:
here you go, a .NET 2.0 app http://www.nova-mind.com[^]
I've meant an app like Office, AutoCAD, Photoshop, Corel, a Browser or even the Visual Studio itself. I don't doubt that an app can be written in C#, but i doubt that any of the above apps will ever be written with .NET
-
[MOD]Hey everyone, I am talking in the context of Visual Studio 2005 development here. I am well aware that C++ has its extensive uses. But for developing Windows Forms apps, VS 2005 has far better functionality for C# compared to what it has for C++[/MOD] No, it's not because C# is a better language - egad, what a thought! And no, it's not that C# is easier to learn and use, far from it in fact! The answer is - Visual Studio 2005! If you use it to do C#, it's very very hard to go back to doing C++ with it. Imagine driving an automatic BMW and then having to drive a manual Maruthi 800 (it's a car available only in India and barely fits the definition of what a car should be). VS 2005 may be slow and unstable for C++, but so far, with C# it's been astonishingly wonderful! CG often teases me saying that I am one of 5 people on earth who do C++ on .NET! I just hope the other 4 don't see VS.NET with C#, cause if they do, I am going to be the only one left :~ I don't know who to thank for this - since I have no idea who heads the VS.NET UI team in Redmond. So I'll just thank myself, and buy myself a drink today :-D Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!-- modified at 10:54 Sunday 19th February, 2006
Well I didn't. I've been C++/MFC programmer since 1993. I've not written a line of new C++ code since I discovered the wonders of using MyXaml and C# together. Windows Forms put me of C# to start with. It seemed so primitive compared to MFC/WTL. Then I was introduced to MyXaml and the wonders of declarative programming. And a whole new world of possiblities opened up. I've not looked back since. Michael CP Blog [^] Development Blog [^]
-
Super Lloyd wrote:
here you go, a .NET 2.0 app http://www.nova-mind.com[^]
I've meant an app like Office, AutoCAD, Photoshop, Corel, a Browser or even the Visual Studio itself. I don't doubt that an app can be written in C#, but i doubt that any of the above apps will ever be written with .NET
If every time someone gives you an example you answer that doesn't count we won't go very far, would we? Also if an app already exist and has a background of 10 year in native C++, why would you migrate it to .NET? And I don't see how not porting it to .NET is a denial of .NET, in fact rewriting them in .NET would quite stupid shall say! 2nd: what about these other ones then: http://worldwind.arc.nasa.gov/[^] http://www.eecs.wsu.edu/paint.net/[^]
-
Nishant Sivakumar wrote:
There's a VC++ 2005 Express Edition available for free.
Including MFC? ;)
I would have to say that the only reason I chose to start using Microsoft's Visual C++ in 1999 was because of MFC. Since they are trying to bury it, it gives me a chance to finally learn how massively powerful C++ really is without hiding behind MFC. The first product line I come across that doesn't shove anything but C++ at me, will get my next couple a' hundred dollars methinks. People say "Learn all these new and shiny technologies so you don't get left behind". Actually, I'm trying but I already feel left behind even though I'm giving it every effort. Microsoft went from fixing problems, to ignoring them and completely starting over and deprecating everyting to simplify life for themselves. "Just rewrite all those applications when you want a new feature that we provide". Phooey!
-
[MOD]Hey everyone, I am talking in the context of Visual Studio 2005 development here. I am well aware that C++ has its extensive uses. But for developing Windows Forms apps, VS 2005 has far better functionality for C# compared to what it has for C++[/MOD] No, it's not because C# is a better language - egad, what a thought! And no, it's not that C# is easier to learn and use, far from it in fact! The answer is - Visual Studio 2005! If you use it to do C#, it's very very hard to go back to doing C++ with it. Imagine driving an automatic BMW and then having to drive a manual Maruthi 800 (it's a car available only in India and barely fits the definition of what a car should be). VS 2005 may be slow and unstable for C++, but so far, with C# it's been astonishingly wonderful! CG often teases me saying that I am one of 5 people on earth who do C++ on .NET! I just hope the other 4 don't see VS.NET with C#, cause if they do, I am going to be the only one left :~ I don't know who to thank for this - since I have no idea who heads the VS.NET UI team in Redmond. So I'll just thank myself, and buy myself a drink today :-D Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
The Ultimate Grid - The #1 MFC grid out there!-- modified at 10:54 Sunday 19th February, 2006
Egad! I was a C++ guy right through college. Roamed the wilderness of Solaris for 6 months at work, moved back to .NET. I've been working with C# for the last 6-7 months, but decided to reinstall VC++ 2005 EE. I was like :omg: It was a bit familiar, but not very. I'll probably get lynched for saying this, but I'm sticking to C#. BTW, did you see the match? :cool: Cheers, Vikram.
"When I read in books about a "base class", I figured this was the class that was at the bottom of the inheritence tree. It's the "base", right? Like the base of a pyramid." - Marc Clifton.
-
I bet the C++ team at Microsoft is very disgruntled. Marc Pensieve
-
I would have to say that the only reason I chose to start using Microsoft's Visual C++ in 1999 was because of MFC. Since they are trying to bury it, it gives me a chance to finally learn how massively powerful C++ really is without hiding behind MFC. The first product line I come across that doesn't shove anything but C++ at me, will get my next couple a' hundred dollars methinks. People say "Learn all these new and shiny technologies so you don't get left behind". Actually, I'm trying but I already feel left behind even though I'm giving it every effort. Microsoft went from fixing problems, to ignoring them and completely starting over and deprecating everyting to simplify life for themselves. "Just rewrite all those applications when you want a new feature that we provide". Phooey!
bob16972 wrote:
Microsoft went from fixing problems, to ignoring them and completely starting over and deprecating everyting to simplify life for themselves.
It must have been around 2000 when they decided at Microsoft that Service Packs are not good for the shareholder value. "People are expecting bug fixes for free, we can't accept that any more". For VS6 there is a SP6 available, but for VS2002 or VS2003? Yes, SP0 - Please call for hot-fixes. VS2003 was nothing else than a service pack for 2002, so why pay for it, it should have been available for free download. See what has happened with the VS2005 Beta, people have reported thousand of bugs, in most cases the reply was "we are too late in the product cycle to fix this bug, it might be fixed with the next release of VS". So they give me a Beta, i report a bug and the reply is buy VS2007 if you want the bug to be fixed??? With this attitude they can go to hell!