Coffeehouse Thread

34 posts

Feeling Angry at C++ Programmers

Back to Forum: Coffeehouse
  • koorb

    Everytime I read something about .Net that is positive or about some new venture where someone is trying something new, there is some old-school C++ programmer there shooting his mouth-off at how poorly applications run under .Net and why C++ is best and will always be best.

    Is it just me or are the ones which once lead the way now holding us back?

  • DoomBringer

    Meh, I'm about as old school as you can get, and I recognize the differing needs and goals for each language.  It is all a matter of what you need to do... there is no one set thing to rule everything.

  • Minh

    DoomBringer wrote:
    Meh, I'm about as old school as you can get, and I recognize the differing needs and goals for each language.  It is all a matter of what you need to do... there is no one set thing to rule everything.
    How old are you, Doom?

  • Charles

    koorb wrote:

    ...are the ones which once lead the way now holding us back?


    Excellent question and it resonates across all disciplines and industries. The same C++ programmers that complain about .NET managed code complained about Java...

    One thing is clear, though: .NET is not replacing the need for C++ programming (just like Java hasn't). Remember that the CLR is written in C and C++. Remember also that all of Microsoft's major products are written primarily in C/C++ and all of our products are compiled with the amazing compiler created by the VC team.

    If you have to use unmanaged code, then use unmanaged code. If you don't, then use managed code.

    People get attached to what they are comfortable with, what they understand, what has helped them solve problems consistently, their tools.

    C++ is evolving just as quickly as any of the managed languages. It's a great language that will be around for a very, very long time.

    C

  • DoomBringer

    Minh wrote:
    DoomBringer wrote: Meh, I'm about as old school as you can get, and I recognize the differing needs and goals for each language.  It is all a matter of what you need to do... there is no one set thing to rule everything.
    How old are you, Doom?

    Not very, but I'm just as comfortable writing Cobol and Assembly as I am C#.  I started with traditional K&R C.

  • Maurits

    The problem with C# is you can't do anything until someone writes a System.Whatever that does it for you.

    And even then you can only do it on that version of the .Net Framework.

  • Cannot​Resolve​Symbol

    Maurits wrote:
    The problem with C# is you can't do anything until someone writes a System.Whatever that does it for you.

    And even then you can only do it on that version of the .Net Framework.


    You do have PInvoke to let you call any native function you might desire, though.  That makes it significantly more versatile on its own than it would be without.

  • leighsword

    koorb wrote:
    Everytime I read something about .Net that is positive or about some new venture where someone is trying something new, there is some old-school C++ programmer there shooting his mouth-off at how poorly applications run under .Net and why C++ is best and will always be best.

    Is it just me or are the ones which once lead the way now holding us back?

    The best(or top) CS students always are good at C/C++ [in China], and  C/C++ is not only a language, it's a culture, did you heard someone called a culture was old or outdated? Maybe .Net developers are not as dumb as we think, but I am sure that .Net won't and never come into being a culture if MS don't trying to fix the bugs of .Net , whatever, multi-culture(include English, Chinese, C++...) is the future, and I'll welcome .Net be a new culture. About your feeling, I think it's OK, because "If you are not the envy of another person, you are only a mediocre man"(不遭人妒�庸才).

  • IRenderable

    Everytime I read something about C++ or there is a new app in C++ or I read about somthing new in Boost I hear some C# fanboy talking about how C++ is (I need to watch my language) and everyone should use C#. Fanboys suck either way.

  • Ion Todirel

    Everytime I read something about C# or there is a new app in C# or I read about something new in Boost I hear some C++ fanboy talking about how C# is and everyone should use C++. Fanboys suck either way.

    anyway what "i need to watch my language" means?

  • die-Sel

    i need to watch my language < i would guess he replaced sware words with that.

    To be a great programmer in my opinion you cant just be limited to 1 langauge. You need to have a broard scope of 3 or more.

    And fanboys do suck, just like trolls lol

  • glebd

        You can write code that sucks in any language. Choose one that is good for the task and don't start religious wars.

    Oh, and there is no such language as C/C++. There are two different languages C and C++.

  • Massif

    The (I need to watch my language)ing forum replaces "I need to watch my language" with whatever (I need to watch my language)ing bollocks you chose as a swear word.

    It's pissing annoying and (I need to watch my language)ing (I need to watch my language) crap arsebiscuits behaviour.[6]  

    Only kidding, I wouldn't want to offend all you sensitive types with my (I need to watch my language) (I need to watch my language)-talking wank. Now i need to check how many of those got through the filter...

    [edit: Oohh... five obscenities... I'm surprised wank got through.]

  • UlsterFry

    Put this way, I don't know of any plumber that turns up to a job with only a wrench in his/her toolbox  Big Smile

  • spoofnozzle

    Charles wrote:
    If you have to use unmanaged code, then use unmanaged code. If you don't, then use managed code.


    I would tend to lean more towards... if it can be done with managed code, use managed code... and only if it can't be done, then use unmanaged code.

    Quite obviously there are some things that can't be done with managed code... e.g. writing a managed code environment... Big Smile

    However, just as obvious is that managed code will be likely to produce a more stable environment, where multiple providers are contributing to the total code base.

    IMHO, The issue of managed-code performance is likely to become a non-event as hardware advances continue to outstrip software advances... i.e. What else are you going to do with these multi-core, multi-processor machines ??

  • Massif

    I think you're half-right on the performance of managed code when it comes to increasing processor speed.

    As they become more and more multi-core then garbage collection will become less of a performance issue. But given that the overall clock speed is going to increase less, then the other costs of performance from managed code are going to be just as important as they are now.

    Having said that, I'm a big fan of managed code. Plus, if you use the performance profiler in VS2005 should mean there's no reason for a .NET app not to run pretty efficiently anyway.

    BTW: anyone who points to C++'s performance benefit and doesn't profile their code should be beaten with sticks.

  • spoofnozzle

    Massif wrote:
    I think you're half-right on the performance of managed code when it comes to increasing processor speed.

    As they become more and more multi-core then garbage collection will become less of a performance issue. But given that the overall clock speed is going to increase less, then the other costs of performance from managed code are going to be just as important as they are now.



    I can't agree with you on that.

    If you are a die-hard C++ programmer and you have a 100-core CPU that you want to be able to fully utilise, what are you going to do ?

    The point about moving to multi-cores is that it will become harder and harder for programmers to utilise the benefits of these, without either a managed platform or a bunch of additional support code.

    Moreover...

    The faster the hardware, the less significant the whole issue of managed code, when it comes to application performance.

    e.g. If a mananged-code app takes 10ms to complete a task for a user, where an unmanaged-code version takes 1ms to perform the same task... will the user actually notice the difference ?? Meanwhile, if the unmanaged app causes memory leaks and/or results in intermittent crashes... the user definitely WILL notice the difference.

  • littleguru

    Maurits wrote:
    The problem with C# is you can't do anything until someone writes a System.Whatever that does it for you.

    And even then you can only do it on that version of the .Net Framework.


    Well the same with C/C++: someone always needs to do something to allow you to do something, or you do it on your own...

    I don't see the difference.

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.