Where is the C++?

Discussion in 'MCSD' started by CWhite, Feb 18, 2004.

  1. CWhite

    CWhite Guest

    Why did they decide to replace C++ with C# and .Net,
    these languages are not standard, and not as powerfull as
    C++. If microsoft is going to be certifying developers
    they should make sure they are qualifide with the
    standards. I am disapointed because I would have to start
    from 0 to get my MCSD, because I have no experience with
    these new languages. It isn't that hard to move from one
    language to another, but I can't see myself ever coding in
    C#. LOL. Is there even a certification anymore that covers
    C++, even if not a microsoft one?
     
    CWhite, Feb 18, 2004
    #1
    1. Advertising

  2. CWhite

    Eric Guest

    CWhite wrote:

    > Why did they decide to replace C++ with C# and .Net,
    > these languages are not standard, and not as powerfull as
    > C++. If microsoft is going to be certifying developers
    > they should make sure they are qualifide with the
    > standards. I am disapointed because I would have to start
    > from 0 to get my MCSD, because I have no experience with
    > these new languages. It isn't that hard to move from one
    > language to another, but I can't see myself ever coding in
    > C#. LOL. Is there even a certification anymore that covers
    > C++, even if not a microsoft one?


    C# is an Ecma standard. Can you tell me something that C++ can do that
    C# can't do?

    C# is a safer language - no null pointer assignments, no inadvertant
    fall throughs in switch statements, and it's strongly typed in every
    case (even accross remoting boundaries). There's no need to use
    Variants.

    I do understand that it's hard to start over at 0. Many of us have done
    that.

    I can guess that you'll still find C++ certs in the Unix world. C++ is
    still the king of Unix, and will probably continue to be for some time
    to come.

    You should consider looking at this book by Jesse Liberty. This is what
    convinced me that C# is better than C++: Programming C#, 3rd edition.

    Please understand that you're not alone. I've been in this business
    over 20 years, and I've switched languages more times than I care to
    admit.
     
    Eric, Feb 18, 2004
    #2
    1. Advertising

  3. CWhite

    CWhite Guest


    >-----Original Message-----
    >CWhite wrote:
    >
    >> Why did they decide to replace C++ with C# and .Net,
    >> these languages are not standard, and not as powerfull as
    >> C++. If microsoft is going to be certifying developers
    >> they should make sure they are qualifide with the
    >> standards. I am disapointed because I would have to start
    >> from 0 to get my MCSD, because I have no experience with
    >> these new languages. It isn't that hard to move from one
    >> language to another, but I can't see myself ever coding in
    >> C#. LOL. Is there even a certification anymore that covers
    >> C++, even if not a microsoft one?

    >
    >C# is an Ecma standard. Can you tell me something that C++

    can do that
    >C# can't do?


    C++ is a cross platform standard, C# is only a microsoft
    specific application. C++ is faster than C#. C++ doesn't
    require a virtual machine. C++ isn't pirated java. C++ has
    cache control.


    >C# is a safer language


    "safety" shouldn't be a concern when choosing programming
    languages.

    >I can guess that you'll still find C++ certs in the Unix

    world. C++ is
    >still the king of Unix, and will probably continue to be

    for some time
    >to come.
     
    CWhite, Feb 18, 2004
    #3
  4. >C# is an Ecma standard. Can you tell me something that C++ can do that
    >C# can't do?


    Lots.

    I can write low level code in C++, can you write a device driver in
    C#?

    Can you write an extended stored procedure for Oracle, sql server
    (prior to yukon), interbase, DB2 (without using COM) etc, etc, in C#?

    Can you write an isapi filter or extension in C#?

    Does C# support Multiple inheritance?

    Does C# support template based programming [yet]?

    Best of all it [C++] has little to do with microsoft or any other
    company.

    >C# is a safer language - no null pointer assignments, no inadvertant
    >fall throughs in switch statements, and it's strongly typed in every
    >case (even accross remoting boundaries). There's no need to use
    >Variants.


    C++ is as safe as the programmer writing the code.

    A need to make a programming language 'idiot' proof is an admission
    that the people targeted to use it are indeed idiots.

    As an example, if a 'programmer' does not know when to release an
    allocated resource, what does that say about the implementation of
    that chosen algorithm?

    >I can guess that you'll still find C++ certs in the Unix world. C++ is
    >still the king of Unix, and will probably continue to be for some time
    >to come.


    A very long time.

    >You should consider looking at this book by Jesse Liberty. This is what
    >convinced me that C# is better than C++: Programming C#, 3rd edition.


    Right tools for the right job. C# will always be well supported on
    microsoft platforms, it will not be on many other non microsoft
    platforms, despite the number of [excellent] projects which are
    'porting' it other platforms. microsoft are hated in the
    Unix/Linux/Sun world, so the uptake of anything to do with microsoft
    will be minimal.

    BTW, I think C# is great language, as are all object oriented
    language's - except python.

    >I've been in this business
    >over 20 years, and I've switched languages more times than I care to
    >admit.


    Likewise.

    Kline Sphere (Chalk) MCNGP #3
     
    The Poster Formerly Known as Kline Sphere, Feb 18, 2004
    #4
  5. >"safety" shouldn't be a concern when choosing programming
    >languages.


    Exactly. However the choice of idiots who use it should be.

    Kline Sphere (Chalk) MCNGP #3
     
    The Poster Formerly Known as Kline Sphere, Feb 18, 2004
    #5
  6. CWhite

    Eric Guest

    CWhite wrote:

    >
    > > -----Original Message-----
    > > CWhite wrote:
    > >
    > >> Why did they decide to replace C++ with C# and .Net,
    > >> these languages are not standard, and not as powerfull as
    > >> C++. If microsoft is going to be certifying developers
    > >> they should make sure they are qualifide with the
    > >> standards. I am disapointed because I would have to start
    > >> from 0 to get my MCSD, because I have no experience with
    > >> these new languages. It isn't that hard to move from one
    > >> language to another, but I can't see myself ever coding in
    > >> C#. LOL. Is there even a certification anymore that covers
    > >> C++, even if not a microsoft one?

    > >
    > > C# is an Ecma standard. Can you tell me something that C++

    > can do that
    > > C# can't do?

    >
    > C++ is a cross platform standard, C# is only a microsoft
    > specific application. C++ is faster than C#. C++ doesn't
    > require a virtual machine. C++ isn't pirated java. C++ has
    > cache control.


    C# is also cross-platform. Mono C# works on Linux. Rotor C# works on
    BSD and Apple OS 10.

    >
    > > C# is a safer language

    >
    > "safety" shouldn't be a concern when choosing programming
    > languages.


    Yes it should. Isn't it embarassing to you when a client gets a "null
    pointer assignment" error? In a large system coded in C++, it's nearly
    impossible to avoid the occasional null pointer error.
     
    Eric, Feb 19, 2004
    #6
  7. CWhite

    Eric Guest

    The Poster Formerly Known as Kline Sphere wrote:

    > I can write low level code in C++, can you write a device driver in
    > C#?


    What do you think Longhorn will use for it's device drivers?

    > Can you write an extended stored procedure for Oracle, sql server
    > (prior to yukon), interbase, DB2 (without using COM) etc, etc, in C#?


    Sorry, but I don't think Oracle or SQL Server lets you write stored
    procs in C++ (that are actually stored inside the database).

    > Can you write an isapi filter or extension in C#?


    We can write ASP.NET Filter extensions.

    > Does C# support Multiple inheritance?


    Can you explain why this is needed, with the understanding that we have
    single inheritance, and we can implement multiple interfaces.

    > Does C# support template based programming [yet]?


    I think "yet" says it all. Besides, this is a productivity issue, and
    not really a capability issue.

    > Best of all it [C++] has little to do with microsoft or any other
    > company.


    Microsoft was one of the biggest supporters of C++ in it's early days.

    > > C# is a safer language - no null pointer assignments, no inadvertant
    > > fall throughs in switch statements, and it's strongly typed in every
    > > case (even accross remoting boundaries). There's no need to use
    > > Variants.

    >
    > C++ is as safe as the programmer writing the code.


    Do you know any infalible programmers?

    > A need to make a programming language 'idiot' proof is an admission
    > that the people targeted to use it are indeed idiots.


    I'd like 5 minutes alone with your QA people. I'm guessing they don't
    agree that your code is perfect. I know mine isn't, but I think most of
    us could use some extra help from the language itself.

    > As an example, if a 'programmer' does not know when to release an
    > allocated resource, what does that say about the implementation of
    > that chosen algorithm?


    I'm guessing you never forgot to free anything, and that you've never
    had a memory leak in your production code?

    > microsoft are hated in the
    > Unix/Linux/Sun world, so the uptake of anything to do with microsoft
    > will be minimal.


    I can understand this. I have not seen too much love for Sun or Apple
    in the PC world, either.

    I like Sun, Apple, and Microsoft. Why can't I like the best companies
    in each respective area? Is it necessary to hate a company that doesn't
    produce tools for some specific platforms?

    > BTW, I think C# is great language, as are all object oriented
    > language's - except python.


    I like Python, too! It's got some great features. I especially like
    Zope! But Python is an interpreter that isn't in the same league at a
    compiled high-level language.
     
    Eric, Feb 19, 2004
    #7
  8. >> I can write low level code in C++, can you write a device driver in
    >> C#?

    >
    >What do you think Longhorn will use for it's device drivers?


    The same as now. Any tool that can generate code to run in protected
    mode and be able to interface with the hardware, which rules dot net
    out; unless that is, there is major shift away from 'managed' heaps
    and 'managed' exceptions.

    >> Can you write an extended stored procedure for Oracle, sql server
    >> (prior to yukon), interbase, DB2 (without using COM) etc, etc, in C#?

    >
    >Sorry, but I don't think Oracle or SQL Server lets you write stored
    >procs in C++ (that are actually stored inside the database).


    Yes they do, although the terminology used is different between
    vendors. In SQL Server they are indeed called 'extended stored
    procedures', while other vendors in keeping with the ansi standards,
    refer to them as external functions or procedures. In all cases, for
    those procedures written in C++ the actual binary code is certainly
    not stored in the database.

    >> Can you write an isapi filter or extension in C#?

    >
    >We can write ASP.NET Filter extensions.


    Indeed, and very easily I may add, but this only in the microsoft
    world. I understand there are ports of asp.net underway for Apache but
    am sure that will not ever happen for Zeus though!

    >> Does C# support Multiple inheritance?

    >
    >Can you explain why this is needed, with the understanding that we have
    >single inheritance, and we can implement multiple interfaces.


    Implementing multiple interfaces is certainly not the same as (nor is
    it meant to be) multiple inheritance. And please don't mention
    'containment' and 'delegation' as a 'solution', otherwise every vb5
    programmer will say they write object oriented systems.

    Why is it needed? Why indeed. It depends on the design and how best to
    represent that design. If there are existing characteristics within
    different [and maybe unrelated] classes, then it 'may' be appropriate
    to derive from each to form a new class. The important point is
    understanding what is required, for me multiple inheritance can [in
    the right circumstances] result in a more natural representation of
    it's real world counterpart.

    >> Does C# support template based programming [yet]?

    >
    >I think "yet" says it all. Besides, this is a productivity issue, and
    >not really a capability issue.


    A design issue rather than a 'productivity' one.

    >> Best of all it [C++] has little to do with microsoft or any other
    >> company.

    >
    >Microsoft was one of the biggest supporters of C++ in it's early days.


    As are all the large software companies, even Sun. It was good that
    Microsoft (and every other company) could not 'buy' their way into
    having a major decision making voice, as they have done with w3c.

    >> > C# is a safer language - no null pointer assignments, no inadvertant
    >> > fall throughs in switch statements, and it's strongly typed in every
    >> > case (even accross remoting boundaries). There's no need to use
    >> > Variants.

    >>
    >> C++ is as safe as the programmer writing the code.

    >
    >Do you know any infalible programmers?


    I know some very good engineers - to err is human.

    >> A need to make a programming language 'idiot' proof is an admission
    >> that the people targeted to use it are indeed idiots.

    >
    >I'd like 5 minutes alone with your QA people. I'm guessing they don't
    >agree that your code is perfect. I know mine isn't, but I think most of
    >us could use some extra help from the language itself.


    They would trap you for more than five minutes, and unless you loved
    talking about metrics and process improvements you will be begging to
    escape after an hour or two! Last year I was at in house QA seminar on
    how to incorporate the necessary process changes in order to achieve
    CCM level five for software engineering with our company. The only
    thing that kept me going through the four hours or so was that I was
    sitting next a hawt Babe how I'd not seen before (or since).

    There is seldom disagreements between author, designer and reviewer
    (normally a QA bod). Very are strict standards and procedures which
    are applied and verified throughout the whole software development
    process. The high use of reusable components, templates and design
    patterns and procedures help to ensure this

    >> As an example, if a 'programmer' does not know when to release an
    >> allocated resource, what does that say about the implementation of
    >> that chosen algorithm?

    >
    >I'm guessing you never forgot to free anything, and that you've never
    >had a memory leak in your production code?


    Correct, I never code in memory leaks as I've never had a requirement
    to do so. Nor would I expect to see this type fault occur in anyone's
    code. There is no need why this type of error should ever occur (even
    without using smart pointers), following simple design patterns and
    procedures, together with the excellent development and testing tools,
    this simply should not occur.

    >> microsoft are hated in the
    >> Unix/Linux/Sun world, so the uptake of anything to do with microsoft
    >> will be minimal.

    >
    >I can understand this. I have not seen too much love for Sun or Apple
    >in the PC world, either.


    Same in all walks of business, not just IT.

    >I like Sun, Apple, and Microsoft. Why can't I like the best companies
    >in each respective area? Is it necessary to hate a company that doesn't
    >produce tools for some specific platforms?


    No reason at all. I'm vendor natural, as everyone in IT should be.
    Never be fooled by the marketing hype. Remember marketing people are
    just sales people - the lowest form of life on this planet (except
    brain dumpers).

    >> BTW, I think C# is great language, as are all object oriented
    >> language's - except python.

    >
    >I like Python, too! It's got some great features. I especially like
    >Zope! But Python is an interpreter that isn't in the same league at a
    >compiled high-level language.


    I may be a little unkind here. I last looked at Python around
    1997(ish). I remember it used tab characters as start and end block
    markers, made me laugh...

    Kline Sphere (Chalk) MCNGP #3
     
    The Poster Formerly Known as Kline Sphere, Feb 20, 2004
    #8
  9. >C# is also cross-platform. Mono C# works on Linux. Rotor C# works on
    >BSD and Apple OS 10.


    It depends on whether or not business takes a chance and 'adopts' dot
    net on other platforms. There were COM implementation on Unix as well
    as number of MFC clones, these never took off.

    >> > C# is a safer language

    >>
    >> "safety" shouldn't be a concern when choosing programming
    >> languages.

    >
    >Yes it should. Isn't it embarassing to you when a client gets a "null
    >pointer assignment" error?


    And so it should be embarrassing, no matter what the chosen
    development language was. It proves the person who 'developed' the
    code did not understand how to solve the problem and/or the standards
    and procedures (or lack of) are clearly in need of review.

    >In a large system coded in C++, it's nearly
    >impossible to avoid the occasional null pointer error.


    I'm sure John Wayne and the rest of cowboys would agree with you. I
    don't except it, nor should any customers.. All code will contain a
    certain number of faults, although none should be as a result of a
    'null pointer error' or 'object variable not set error'.

    Kline Sphere (Chalk) MCNGP #3
     
    The Poster Formerly Known as Kline Sphere, Feb 20, 2004
    #9
  10. CWhite

    Eric Guest

    The Poster Formerly Known as Kline Sphere wrote:

    ....

    I agree with many things you say. We're not that far apart. Our main
    difference is that I'm not so much of an idealist - I don't expect
    perfect designs and perfect coding. Life is too short for that. Many
    companies now are running with such a small programming staff that
    we're lucky if we have any time to work on a design before coding
    begins. It's not right, but it is common :-(

    I hope everyone understands that I'm NOT down on C++. I was trying to
    point out some of the benefits of C#, and some of the motivations I had
    to migrate to C#. I respect many programmers who think C++ is better.
    These are just one man's opinions.

    And I really like Unix, but I agree that none of the current ports of
    C# for Unix are quite ready for primetime. I hope that will change as
    time goes on.

    Eric
     
    Eric, Feb 23, 2004
    #10
  11. >I agree with many things you say. We're not that far apart. Our main
    >difference is that I'm not so much of an idealist - I don't expect
    >perfect designs and perfect coding.


    Yes there is no such thing as perfection in IT systems. Large systems
    will always contain faults, either in the application of the
    algorithms and/or (heaven forbid) in the failure of interpreting the
    problem to be solved. However processes evolve and improve with the
    goal of finding the errors before they become faults in the delivered
    system.

    >Life is too short for that. Many
    >companies now are running with such a small programming staff that
    >we're lucky if we have any time to work on a design before coding
    >begins. It's not right, but it is common :-(


    Read a quote once (I believe it was in one of Roger Pressman's books).
    It when something like this:- 'The sooner one starts coding, the
    longer the project with take to complete (if at all)'.

    You could never build a battleship or skyscraper without a design and
    models which prove that design. The same applies to software
    development. The more complete the chosen design, the more complete
    and accurate the implementation in solving the requirements.

    >I hope everyone understands that I'm NOT down on C++. I was trying to
    >point out some of the benefits of C#, and some of the motivations I had
    >to migrate to C#. I respect many programmers who think C++ is better.
    >These are just one man's opinions.


    I don't think any one language is better than another. In certainly
    helps to have good understand of the capabilities of each one, but
    overall what can be done with one can generally be done with the
    another [object oriented] language.

    >And I really like Unix,


    Sad man! Me too!!!

    > but I agree that none of the current ports of
    >C# for Unix are quite ready for primetime. I hope that will change as
    >time goes on.


    I do too, the same as I hoped Java would. It never happened because of
    company rivalry

    Kline Sphere (Chalk) MCNGP #3
     
    The Poster Formerly Known as Kline Sphere, Feb 23, 2004
    #11
  12. CWhite

    Eric Guest

    The Poster Formerly Known as Kline Sphere wrote:

    > Read a quote once (I believe it was in one of Roger Pressman's books).
    > It when something like this:- 'The sooner one starts coding, the
    > longer the project with take to complete (if at all)'.


    We agree again, but it's hard to tell that to the bean counters. This
    is especially true when a company hires contractors. They often want to
    see you coding the first day! They have the "you're on the clock now"
    mentality. This outlook is correct for blue collar workers, so why
    can't they treat everyone that way? "We're paying you to write code!",
    they say.

    Something even more alarming has occured in the last few years. It's
    becoming rare to get any specs for programs. They sometimes hand you
    some meeting notes and they want you to begin coding. Sometimes you're
    lucky to get even this much documentation!

    Of course this is a bad plan because you'll have to do several complete
    rewrites down the road. The company usually bears the brunt of their
    poor vision and planning because they can't blame a contractor if they
    didn't provide you with specs in the first place. Of course, if the
    project fails in the end the contractor will be left holding the bag
    (in the form of unpaid timesheets).

    Another bad trend is IT outsourcing. I'm not against the idea of
    foreigners writing code for American companies, but there are some real
    traps for both sides. If the foreign company doesn't completely
    understand what the American company wants (not just because of
    language barriors, but because American companies themselves don't know
    what they want), they will often look bad in the end. American
    companies will be upset, and foregin companies will be the victims.
    American companies never admit blame (sad, but true).

    Eric
     
    Eric, Feb 25, 2004
    #12
  13. >We agree again, but it's hard to tell that to the bean counters. This
    >is especially true when a company hires contractors. They often want to
    >see you coding the first day! They have the "you're on the clock now"
    >mentality. This outlook is correct for blue collar workers, so why
    >can't they treat everyone that way? "We're paying you to write code!",
    >they say.
    >
    >Something even more alarming has occured in the last few years. It's
    >becoming rare to get any specs for programs. They sometimes hand you
    >some meeting notes and they want you to begin coding. Sometimes you're
    >lucky to get even this much documentation!
    >
    >Of course this is a bad plan because you'll have to do several complete
    >rewrites down the road. The company usually bears the brunt of their
    >poor vision and planning


    As part of my role in recent times has been to extract data from
    company systems, who we have bought out, before 'retiring' those
    [often worthless] systems, I understand what you are saying. All this
    goes to prove just how unskilled and unprofessional many people in IT
    are today.

    >Another bad trend is IT outsourcing. I'm not against the idea of
    >foreigners writing code for American companies, but there are some real
    >traps for both sides. If the foreign company doesn't completely
    >understand what the American company wants (not just because of
    >language barriors, but because American companies themselves don't know
    >what they want), they will often look bad in the end. American
    >companies will be upset, and foregin companies will be the victims.
    >American companies never admit blame (sad, but true).


    There is no way on this Earth any other company could run our
    company's IT infrastructure with cheaper costs, which provide the same
    level of service. The simple reason is that NO other company
    understands our business like we do.

    The reason why so many companies see IT outsourceing as an
    'attractive' option is because when it comes to IT, they are
    incompetent - period.

    Kline Sphere (Chalk) MCNGP #3
     
    The Poster Formerly Known as Kline Sphere, Mar 2, 2004
    #13
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page