Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Finally figured out why C++ is losing the battle with C#

Finally figured out why C++ is losing the battle with C#

Scheduled Pinned Locked Moved The Lounge
csharpc++visual-studiocsswinforms
49 Posts 25 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Nish Nishant

    [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

    T Offline
    T Offline
    Tom Archer
    wrote on last edited by
    #37

    Nishant Sivakumar wrote:

    CG often teases me saying that I am one of 5 people on earth who do C++ on .NET

    I just wrote yet another mixed-mode application to handle headlines here at MSDN so I wonder who those other three people are :) Tom Archer (blog) Program Manager MSDN Online (Windows Vista and Visual C++) MICROSOFT

    R 1 Reply Last reply
    0
    • N Nish Nishant

      [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

      J Offline
      J Offline
      Joe Woodbury
      wrote on last edited by
      #38

      I completely agree. I've heard far too many developers rave about how "easy" C# is, only to find that their code is just C++ with C# syntax (and sometimes barely that.) Ironically, I've gotten quite bored with C#. It was fun at first, but it started getting in my way. I found it quite refreshing the past few weeks to go back to C++. It would have been even better if Visual Studio 2005 wasn't so crappy with C++. Unfortunately, this started with Visual Studio 2002/2003. It's quite clear that Visual Studio 6.0 was hijacked by the VB program managers and that C++ has become the ugly stepchild. There contempt is so obvious, there's part of me that's actually amazed they didn't drop it entirely in VS 2005. One thing that doesn't help is that C++ itself needs some cleaning up; like making bool a much stronger type, making wchar a type, fixing the CRT so it's overloaded for C++ and renaming the functions logically (put 'w' in front of the unicode functions [strchr, wstrchr.]) (Maybe someone with vision will actually buy Borland C++ and fix their IDE so it's not the most unstable developer platform I've ever used.) Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

      X 1 Reply Last reply
      0
      • T Tom Archer

        Nishant Sivakumar wrote:

        CG often teases me saying that I am one of 5 people on earth who do C++ on .NET

        I just wrote yet another mixed-mode application to handle headlines here at MSDN so I wonder who those other three people are :) Tom Archer (blog) Program Manager MSDN Online (Windows Vista and Visual C++) MICROSOFT

        R Offline
        R Offline
        Rama Krishna Vavilala
        wrote on last edited by
        #39

        Tom Archer - MSFT wrote:

        I wonder who those other three people are

        Kent Sharkley[^] and his two brothers may be the other three people.


        Member in good standing - the great cult of Firefox at CP

        T 1 Reply Last reply
        0
        • R Rama Krishna Vavilala

          Tom Archer - MSFT wrote:

          I wonder who those other three people are

          Kent Sharkley[^] and his two brothers may be the other three people.


          Member in good standing - the great cult of Firefox at CP

          T Offline
          T Offline
          Tom Archer
          wrote on last edited by
          #40

          I don't believe Kent does any MC++ programming. He's mainly C# Tom Archer (blog) Program Manager MSDN Online (Windows Vista and Visual C++) MICROSOFT

          1 Reply Last reply
          0
          • N Nish Nishant

            [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

            N Offline
            N Offline
            NormDroid
            wrote on last edited by
            #41

            Welcome to the C# Club! Blogless

            1 Reply Last reply
            0
            • L Lost User

              Nishant Sivakumar wrote:

              I only do MFC at work, and I mostly do C++/CLI at home.

              What do you like about C++/CLI? I took a first look at it today but found it ugly. Not only the syntax is weird, but also Intellisense is inferior to the one in C# 2005 and after being used to the headerless stuff in C# I can't see those damn header files again (what, where did I put the ****ing #define statement again?) regards :)

              X Offline
              X Offline
              Xoy
              wrote on last edited by
              #42

              Well part of the problem is that C++ was not originally designed to work with ide's too much... visual c++ 6.0 wasn't too bad at the time ;P C#, VB, and other .net languages were designed to interact with the ide. in any case... enjoy them ;P (if you are forced to work with regular command line compilers + plain text editors for a while you might appreciate it more ;P)

              L 1 Reply Last reply
              0
              • realJSOPR realJSOP

                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

                X Offline
                X Offline
                Xoy
                wrote on last edited by
                #43

                John Simmons / outlaw programmer wrote:

                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.

                and yet its possible to write programs that run faster in C#/VB ;P

                John Simmons / outlaw programmer wrote:

                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.

                C++ (or any other high level language for that matter) is for people who don't have the knowledge, skill, or talent ot use pure asm, or are simply lazy. ;P I'd say its a pretty close comparison :laugh: The different languages out there are to simplify programming... you have to pick the right language for the job though. I wouldn't pick C#/VB for kernel programming... or other low-level programs. I have no problem using it for regular applications though... provided it fits the job description.

                1 Reply Last reply
                0
                • P pc128

                  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?

                  X Offline
                  X Offline
                  Xoy
                  wrote on last edited by
                  #44

                  Its a matter of choosing the right language for the right job :rolleyes: In some cases, its fine... possibly even a better choice than some other languages. In others it is quite a bad choice. X|

                  1 Reply Last reply
                  0
                  • N Nemanja Trifunovic

                    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.

                    X Offline
                    X Offline
                    Xoy
                    wrote on last edited by
                    #45

                    I haven't noticed it being too slow... its actually one of the faster programs on my computer for what it does :) However, it does use a lot of resources depending on the size of the program & what not :|

                    1 Reply Last reply
                    0
                    • V Vikram A Punathambekar

                      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.

                      X Offline
                      X Offline
                      Xoy
                      wrote on last edited by
                      #46

                      Vikram A Punathambekar wrote:

                      Solaris

                      I don't want to go back there any time soon. X|

                      1 Reply Last reply
                      0
                      • J Joe Woodbury

                        I completely agree. I've heard far too many developers rave about how "easy" C# is, only to find that their code is just C++ with C# syntax (and sometimes barely that.) Ironically, I've gotten quite bored with C#. It was fun at first, but it started getting in my way. I found it quite refreshing the past few weeks to go back to C++. It would have been even better if Visual Studio 2005 wasn't so crappy with C++. Unfortunately, this started with Visual Studio 2002/2003. It's quite clear that Visual Studio 6.0 was hijacked by the VB program managers and that C++ has become the ugly stepchild. There contempt is so obvious, there's part of me that's actually amazed they didn't drop it entirely in VS 2005. One thing that doesn't help is that C++ itself needs some cleaning up; like making bool a much stronger type, making wchar a type, fixing the CRT so it's overloaded for C++ and renaming the functions logically (put 'w' in front of the unicode functions [strchr, wstrchr.]) (Maybe someone with vision will actually buy Borland C++ and fix their IDE so it's not the most unstable developer platform I've ever used.) Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

                        X Offline
                        X Offline
                        Xoy
                        wrote on last edited by
                        #47

                        Joe Woodbury wrote:

                        I completely agree. I've heard far too many developers rave about how "easy" C# is, only to find that their code is just C++ with C# syntax (and sometimes barely that.)

                        I suppose it does seem a lot like C++... then again, don't all c-ish languages? what makes C# "easier" is making GUIs and that objects actually behave in an expected fashion :) Also, error output is much more helpful... instead of taking you to some random library complaining about an access permission, it takes you to where the error is and says what the problem is.

                        Joe Woodbury wrote:

                        Unfortunately, this started with Visual Studio 2002/2003. It's quite clear that Visual Studio 6.0 was hijacked by the VB program managers and that C++ has become the ugly stepchild. There contempt is so obvious, there's part of me that's actually amazed they didn't drop it entirely in VS 2005.

                        And yet its much of the VB origin additions that many people like ;P

                        Joe Woodbury wrote:

                        One thing that doesn't help is that C++ itself needs some cleaning up; like making bool a much stronger type, making wchar a type, fixing the CRT so it's overloaded for C++ and renaming the functions logically (put 'w' in front of the unicode functions [strchr, wstrchr.])

                        True, but C++ is a standard language... theres a committee (or whatever you want to call it & spell correctly ;P) that makes decisions about it... making changes like that would be quite hard. stupid compatability issues X| Some people may not like the no-backwards-compatability policy of .net versions, but since its minimal changes between them (for upgrading anyway), I don't mind... Rather than doing weird things & keeping this that and the other thing to keep backwards compatability (instead of just making the change and fixing it), older programs have to continue working with newer versions :rolleyes: With .net they do make the changes gradually though, so its not like you have to change everything every time :)

                        Joe Woodbury wrote:

                        (Maybe someone with vision will actually buy Borland C++ and fix their IDE so it's not the most unstable developer platform I've ever used.)

                        I volunteer... YOU! ;P Haven't used borland in many years... Last time I tried it was when I was comparing borland & vs... I don't think it was too bad then, but i

                        1 Reply Last reply
                        0
                        • A Andre xxxxxxx

                          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[^]

                          R Offline
                          R Offline
                          Rocky Moore
                          wrote on last edited by
                          #48

                          ABuenger wrote:

                          The main competition is between C# and VB

                          Where do you think the C# programmers came from? :)

                          ABuenger wrote:

                          First, there is a large legacy codebase, it would take years and decades to rewrite it.

                          Actually, some never gets rewritten. There is still a lot of old assembler code floating out there in legacy drivers and still a lot of old COBAL out there on old systems, but there are few developers that work with it.

                          ABuenger wrote:

                          But back to the topic, i guess most C++ developers will use C++/CLI for managed code.

                          Not so sure about that. I was C/C++ developer for the best part of two decades but when .NET first went beta and I spent a couple weeks with C#, all my own work went to C# with no looking back. About a year later, I left the last job that was C/C++ and have not touched it since and do not plan to in the future. C# has about everything I need (would like multiple inheritance, but oh well, never used it that much anyway). There are a good many C/C++ developers here on CP that have moved on to C#, so I do not think there will be a big rush to move back to the old stomping grounds. Rocky <>< Latest Post: SQL2005 Server Managemnet Studio timeouts! Blog: www.RockyMoore.com/TheCoder/[^]

                          1 Reply Last reply
                          0
                          • X Xoy

                            Well part of the problem is that C++ was not originally designed to work with ide's too much... visual c++ 6.0 wasn't too bad at the time ;P C#, VB, and other .net languages were designed to interact with the ide. in any case... enjoy them ;P (if you are forced to work with regular command line compilers + plain text editors for a while you might appreciate it more ;P)

                            L Offline
                            L Offline
                            Lost User
                            wrote on last edited by
                            #49

                            Xoy wrote:

                            in any case... enjoy them (if you are forced to work with regular command line compilers + plain text editors for a while you might appreciate it more )

                            When I first saw the C# sytanx and its features I was impressed. But you are right, the crucial point why I finally switched to C# and .NET was the great VS.NET IDE (especially 2005) regards

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups