9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "David Leimbach" <leimy2k@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] Good enough approximation for ape/pcc
Date: Mon, 10 Apr 2006 16:18:56 -0700	[thread overview]
Message-ID: <3e1162e60604101618u4e4ce0c1yac9f0246a116a2e5@mail.gmail.com> (raw)
In-Reply-To: <200604102304.k3AN4vJN003576@haides.silverbrookresearch.com>

On 4/10/06, Andy Newman <andy@silverbrookresearch.com> wrote:
> On Tue, 2006-04-11 at 10:07 +1200, Andrew Simmons wrote:
> > I was recently told about the following compiler option. I honestly thought
> > it was an April Fool's joke:
> >
> > -Weffc++
>
> The "joke" is more that to use the language safely/correctly pretty much
> requires such an option.   There is a mini-industry of "don't do that"
> books as the g++ switch shows. Having now done a lot of C++ I find it
> quite unbelievable what people will put up with and claim to be good
> (but hey they pay me for it).  Although C++ does provide a few niceties
> it creates a whole slew of problems of its own which need to be fixed
> with all manner of convoluted constructs and practices. Don't get me
> started on the library, they're only now figuring out that it mostly
> sucks.
>
>
>
Here here!  And this is from a guy who used to think that C++ was
pretty much it.  I learned it early on (right after QBASIC on DOS, and
before I learned C believe it or not...).  Concurrency,
exception-safety, clearness of error messages, networking, memory
management.  I don't think *any* of these problems have been
adequately handled in C++ in a way that doesn't require you to think
of the possible side-effects and consequences of any lines of code you
may write.

It's really pretty scary to think how much C++ is probably out there,
and written in a hurry.  It's possible to write good C++ code, just
not likely to fall into it by accident.

One would think that even middle managers could just look at the
volumes of books on the subject of being careful about C++ and realize
that if there is an industry around writing high quality code in just
one language, that maybe that's not the best tool to use in all cases.

Interesting example...

SomeContainer::iterator it = SomeContainerObject.begin();

for (; it != SomeContainerObject.end(); ++it)

is probably a lot faster than

for(; it != SomeConatinerObject.end(); it++)

And I'd bet that not much more than half of the so-called C++
programmers out there in the world know why this is.

Dave


  reply	other threads:[~2006-04-10 23:18 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-07 18:13 Fernan Bolando
2006-04-07 19:43 ` Russ Cox
2006-04-07 19:01   ` Fernan Bolando
2006-04-07 19:17     ` uriel
2006-04-07 19:57       ` David Leimbach
2006-04-07 21:52         ` Russ Cox
2006-04-07 21:07           ` David Leimbach
2006-04-08 22:39           ` Lluís Batlle i Rossell
2006-04-08 23:50             ` quanstro
2006-04-09  0:05               ` Russ Cox
2006-04-09  5:55                 ` Scott Schwartz
2006-04-09 16:56                   ` Russ Cox
2006-04-09 21:57                     ` Scott Schwartz
2006-04-09 23:04                       ` Russ Cox
2006-04-10  2:49                         ` Scott Schwartz
2006-04-10  4:19                           ` Russ Cox
2006-04-10  4:03                             ` lucio
2006-04-10  8:37                               ` Bruce Ellis
2006-04-10 14:42                                 ` Paul Lalonde
2006-04-10 11:11                               ` quanstro
2006-04-10 11:34                                 ` Brantley Coile
2006-04-10 14:09                                   ` Ronald G Minnich
2006-04-10 14:49                                     ` Paul Lalonde
2006-04-10 15:26                                       ` andrey mirtchovski
2006-04-10 22:07                                   ` Andrew Simmons
2006-04-10 23:04                                     ` Andy Newman
2006-04-10 23:18                                       ` David Leimbach [this message]
2006-04-10 23:51                                         ` Roman Shaposhnick
2006-04-11  0:07                                           ` David Leimbach
     [not found]                                             ` <3e1162e60604101707v6214a809h516a223bf5d14a06@mail.gmail.co m>
2006-04-11  1:26                                               ` Andrew Simmons
2006-04-11  2:37                                                 ` quanstro
2006-04-11  4:20                                                   ` Bruce Ellis
2006-04-11  5:40                                                     ` Skip Tavakkolian
2006-04-11  8:18                                                       ` Bruce Ellis
2006-04-11  8:56                                                         ` Charles Forsyth
2006-04-11  9:00                                                           ` Bruce Ellis
2006-04-11  8:17                                                 ` Lluís Batlle
2006-04-11 21:30                                                 ` Roman Shaposhnick
2006-04-11 22:37                                                   ` Russ Cox
2006-04-11 22:05                                                     ` Roman Shaposhnick
2006-04-11 21:25                                             ` Roman Shaposhnick
2006-04-10  9:57                             ` Charles Forsyth
2006-04-09 23:32                       ` geoff
2006-04-07 20:10     ` Russ Cox
     [not found]     ` <ba5b34e5051e1f0238a2df3f641d4598@cat-v.org>
2006-04-08  4:18       ` Fernan Bolando
2006-04-08  5:24         ` Russ Cox
2006-04-08  7:28           ` Bruce Ellis
2006-04-08 16:18             ` Rob Pike
2006-04-08 16:42               ` Bruce Ellis
2006-04-09 23:04 erik quanstrom
2006-04-10 23:51 erik quanstrom
2006-04-10 23:53 erik quanstrom
2006-04-11  0:37 erik quanstrom
2006-04-11  0:40 erik quanstrom
2006-04-11 10:18 Andrew Simmons
2006-04-11 10:55 ` Brantley Coile
2006-04-11 11:25 ` quanstro
2006-04-11 12:58 Russ Cox
2006-04-12  0:50 erik quanstrom
2006-04-12  1:09 ` Charles Forsyth
2006-04-12 11:18 ` Aharon Robbins
2006-04-12 11:31   ` R
2006-04-12 14:01   ` Russ Cox
2006-04-12 13:44     ` Charles Forsyth
2006-04-12 14:50       ` Brantley Coile
2006-04-12  1:15 erik quanstrom
2006-04-12  1:23 ` Charles Forsyth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3e1162e60604101618u4e4ce0c1yac9f0246a116a2e5@mail.gmail.com \
    --to=leimy2k@gmail.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).