LWN.net Logo

LCA: Lessons from 30 years of Sendmail

LCA: Lessons from 30 years of Sendmail

Posted Feb 5, 2011 5:53 UTC (Sat) by daglwn (subscriber, #65432)
In reply to: LCA: Lessons from 30 years of Sendmail by chad.netzer
Parent article: LCA: Lessons from 30 years of Sendmail

> Because it was a tongue-in-cheek response to a statement that was,
> frankly, pretentious.

No, not pretentious. Factual.

> And yet, we still live in an age where major C++ projects refuse to use
> the C++ standard library. That's an embarrassment.

An embarrassment for those projects, yes. I'm not claiming C++ is perfect. It's far from it. I'm claiming it's more useful than C, which is true. There are parts of the C standard library people don't touch.

> For the C++ professionals out there who like the language (like me!),
> how many C++ books are on your shelf?

This isn't a valid way to measure the productivity aspects of a language, but to answer your question, I have one that I have referenced over the last two years: Josuttis' Standard Library book.

> when it's quite straightforward to employ void * safely.

Sure, one can employ void * safely. Just not as easily as one can in C++. One can't get the performance out of void * that one can get out of templates.

> And yet, can tell me why new[] and delete[] haven't been deprecated from
> the C++ language as the ghastly abominations that they are?

That's a bit strong, wouldn't you say? What's wrong with them, exactly?

> You *need* to use boost::array

No, actually I've never used it.

> once you start using boost, you no longer are writing "C-style" C++

You're mixing design styles. No one who uses Boost extensively *wants* to write "C-style." But I certainly would consider boost::array to be "C-style."

> The complications of function overloading alone are enough to
> accidentally trip up the minimalist C-style programmer, if they are not
> careful.

What's difficult about function overloading? The member hiding rules are surprising for the newcomer but so are pointers and recursion.

> Language war threads are probably better waged on other sites.

I don't consider this a war. I consider it education.


(Log in to post comments)

LCA: Lessons from 30 years of Sendmail

Posted Feb 5, 2011 6:44 UTC (Sat) by chad.netzer (guest, #4257) [Link]

I don't want to get into it with you. I'm reading your other responses, and I just can't see how a discussion with you could provide any value to this site, or me. I don't disagree with the gist of your opinion, just the strident tenacity with which you state it. Furthermore, I'm annoyed that you* mentioned and promoted boost::array in the thread, and then when I responded to about it, you claim not to have used it and discount it's relevance. I consider that a bait-and-switch tactic, and an annoyance.

In any case, everything that has ever needed to be said or not said about "C vs. C++" has been said elsewhere, and since LWN doesn't allow thread promotion/demotion by voting, I think I'd like to stop. I certainly think good C++ code is often a positive improvement over good C code, but I disagree with you only in the (implied?) claim that C++ should completely supplant C. It hasn't, because C++ still has problematic issues. The fact that there has been an explosion of languages since 1991 (when I learned C++), and that *many* of them interface easily with C, but almost *none* of them interface easily with C++, perfectly illustrates the issue. History will show that C++ tried hard, but failed, to be a "better C" in *all* cases (as you seem to claim).

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds