Topic: C++ Scandal?!


Author: "Ted" <rt@local.net>
Date: Fri, 24 Mar 2006 19:56:35 CST
Raw View
Is the complexity of C++ by design? The motive being to artificially
create levels of high cost personnel required to use it and also to ensure
only few can create the tools. The old "job security trick"!

There seems to be signs that the above is true (censorship in the moderated
C++ groups for one). Oh my, it could be a scandal!

Ted


---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: jdennett@cox.net (James Dennett)
Date: Sat, 25 Mar 2006 02:40:50 GMT
Raw View
Ted wrote:
> Is the complexity of C++ by design?

I'd recommend you read "The Design and Evolution of C++"
to understand where C++'s complexity comes from; in one
sense it's by design, but it's not a design intended to
create complexity, but rather complexity as a side-effect
of necessary evolution.

C++ is a versatile (general purpose) programming language,
supporting multiple paradigms for varying tasks.  That,
combined with constraints of strong backwards compatibility
with C, leads to an inevitable level of complexity.

> The motive being to artificially
> create levels of high cost personnel required to use it and also to ensure
> only few can create the tools. The old "job security trick"!

Were it so, the language would likely not have been so
widely used, and supported by so many toolchains.  There
is no job security in working with, or selling tools for,
a language that is too complex for programmers to use.

I suspect it's pretty hard making money in the tools
market, with so many tools now being available for no
or very little money; affordable tools have contributed
to the success of C++, and competition from other
languages with freely available tools has lead to more
vendors making their C++ tools available at no charge.

> There seems to be signs that the above is true (censorship in the moderated
> C++ groups for one). Oh my, it could be a scandal!
>
> Ted

You may be disappointed to find no scandal; this group, and
probably also comp.lang.c++.moderated, tends to approve any
message which is on-topic and consistent with our charter
and guidelines.  If you find that you have posted clear
messages which are topical and don't conflict with our
governing documents and yet they are rejected, you are
free to write to the moderators to ask for an explanation.
Once in a while mistakes are made, though we like to think
that they are rare.

-- James

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: loufoque@remove.gmail.com (loufoque)
Date: Sat, 25 Mar 2006 04:20:18 GMT
Raw View
Ted wrote :
> There seems to be signs that the above is true (censorship in the moderated
> C++ groups for one). Oh my, it could be a scandal!

Who let this message pass ? ;)

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: nagle@animats.com (John Nagle)
Date: Sat, 25 Mar 2006 04:20:37 GMT
Raw View
James Dennett wrote:
> Ted wrote:
>
>> Is the complexity of C++ by design?
>
>
> I'd recommend you read "The Design and Evolution of C++"
> to understand where C++'s complexity comes from; in one
> sense it's by design, but it's not a design intended to
> create complexity, but rather complexity as a side-effect
> of necessary evolution.

     That's a kind assessment.  More realistically, there
were some serious design mistakes in the early versions,
and the cruft required to fix them weighs down the language.

     We know enough now to do it right, but that will not
happen.  The need to run legacy code outweighs the need to
improve the language, especially when there are several
similar, newer languages available.

    John Nagle
    Animats

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: invalid@bigfoot.com (Bob Hairgrove)
Date: Sat, 25 Mar 2006 18:10:03 GMT
Raw View
On Sat, 25 Mar 2006 04:20:18 GMT, loufoque@remove.gmail.com (loufoque)
wrote:

>Ted wrote :
>> There seems to be signs that the above is true (censorship in the moderated
>> C++ groups for one). Oh my, it could be a scandal!
>
>Who let this message pass ? ;)

Maybe the moderators wanted to take the wind out of his sails, re:
"censorship".

--
Bob Hairgrove
NoSpamPlease@Home.com

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: rt@local.net ("Ted")
Date: Sun, 26 Mar 2006 18:45:03 GMT
Raw View
"John Nagle" <nagle@animats.com> wrote in message news:nP2Vf.47865$2O6.138@newssvr12.news.prodigy.com...
> James Dennett wrote:
>> Ted wrote:
>>
>>> Is the complexity of C++ by design?
>>
>>
>> I'd recommend you read "The Design and Evolution of C++"
>> to understand where C++'s complexity comes from; in one
>> sense it's by design, but it's not a design intended to
>> create complexity, but rather complexity as a side-effect
>> of necessary evolution.
>
>     That's a kind assessment.  More realistically, there
> were some serious design mistakes in the early versions,
> and the cruft required to fix them weighs down the language.

Would you care to list those things that you think are in need of fixing
(the "serious design mistakes")?

>     We know enough now to do it right, but that will not
> happen.  The need to run legacy code outweighs the need to
> improve the language, especially when there are several
> similar, newer languages available.

Ted

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: John Nagle <nagle@animats.com>
Date: Sun, 26 Mar 2006 16:56:45 CST
Raw View
Ted wrote:
> "John Nagle" <nagle@animats.com> wrote in message news:nP2Vf.47865$2O6.138@newssvr12.news.prodigy.com...
>
>>James Dennett wrote:
>>
>>>Ted wrote:
>>>
>>>
>>>>Is the complexity of C++ by design?
>>>
>>>
>>>I'd recommend you read "The Design and Evolution of C++"
>>>to understand where C++'s complexity comes from; in one
>>>sense it's by design, but it's not a design intended to
>>>create complexity, but rather complexity as a side-effect
>>>of necessary evolution.
>>
>>    That's a kind assessment.  More realistically, there
>>were some serious design mistakes in the early versions,
>>and the cruft required to fix them weighs down the language.
>
>
> Would you care to list those things that you think are in need of fixing
> (the "serious design mistakes")?

    A few of the legacy problems from early C++:

 - References went in late, and many things that should
 have been references are pointers.  "this", for example.
 - With neither generics nor RTTI in early versions, the
 concept of unchecked type downcasting became widespread,
 and some of it is still around.
 - New-style casts went in late, and as a result, old-style
 casts, which probably shouldn't have been in C++ at all,
 were and are widely used.

All of these problems are fixed in the successors to C++,
so they're recognized defects.  But it's too late to fix them
in C++.

There are other well-known problems, but I don't want to rehash them here.

    John Nagle
    Animats

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: NULL@NULL.NULL ("Tom s")
Date: Mon, 27 Mar 2006 16:31:06 GMT
Raw View
>     A few of the legacy problems from early C++:
>=20
>      - References went in late, and many things that should
>      have been references are pointers.  "this", for example.

You could argue that either way. You could say that we use the object's=20
address a lot more than the object itself...

While we're on the topic, what other than "this" should have been a=20
reference?

>      - With neither generics nor RTTI in early versions, the
>      concept of unchecked type downcasting became widespread,
>      and some of it is still around.

This is the fault of an individual programmer -- not C++.

>      - New-style casts went in late, and as a result, old-style
>      casts, which probably shouldn't have been in C++ at all,
>      were and are widely used.

This is the fault of an individual programmer -- not C++.

-Tom=E1s

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: =?ISO-8859-1?Q?Falk_Tannh=E4user?= <falk.tannhauser@crf.canon.fr>
Date: Mon, 27 Mar 2006 10:39:58 CST
Raw View
John Nagle wrote:
>    A few of the legacy problems from early C++:
>
>     - References went in late [...]
>     - [...] unchecked type downcasting [...]
>     - New-style casts went in late [...]

I would add:
  - Instead of 'explicit' keyword we should have had
    'implicit' to allow using a constructor for implicit
    conversion

Falk

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: "Nicola Musatti" <nicola.musatti@gmail.com>
Date: Mon, 27 Mar 2006 11:20:27 CST
Raw View
Ted wrote:
> Is the complexity of C++ by design? The motive being to artificially
> create levels of high cost personnel required to use it and also to ensure
> only few can create the tools. The old "job security trick"!

You could see it in another way: C++ is this complex so that applicants
lacking the qualities indispensible to great programmers are more
easily spotted ;-)

Cheers,
Nicola Musatti

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]





Author: Steve Clamage <Stephen.Clamage@sun.com>
Date: Mon, 27 Mar 2006 12:07:12 CST
Raw View
Ted wrote:
> Is the complexity of C++ by design?

No, it just grew. C++ was not designed as a whole, but evolved over
time. A primary source of complexity is compatibility with the
ideosyncracies of C. Added features did not always mix well with earlier
features, and the difficulties of "corner cases" were not always
appreciated at the time a feature was added. You can get the full story
in the book "The Design and Evolution of C++" by Bjarne Stroustrup,
Addison Wesley.

> The motive being to artificially
> create levels of high cost personnel required to use it and also to ensure
> only few can create the tools. The old "job security trick"!

Nope.

It is not difficult to write straightforward, efficient, portable,
maintainable C++ code. Individual programmers sometimes write code that
is none of the above, but the same is true in every programming language.

A degree of education is needed to use any tool effectively. Is C++ more
difficult to learn to use well than some other popular languages? Yes,
but it also allows you to do some things more easily.

>
> There seems to be signs that the above is true (censorship in the moderated
> C++ groups for one).

There is no censorship, in the usual meaning, in the moderated C++
groups. A standard of discourse is required (no personal attacks), and
postings are required to be on-topic. If a posting does not meet these
two requirements, it is returned to the sender with a polite explanation.

If the posting was off-topic, the moderator explains why, and suggests
appropriate newsgroups. (Bicycle races might be interesting, but this is
not the newsgroup to discuss them. Try alt.rec.bicycles.)

If the posting was considered a personal attack, the moderator explains
why, and suggests how to make the posting appropriate. (Take out "George
is an idiot" and the rest of the posting is OK.)

In all cases, the original poster can appeal the decision, and sometimes
a posting that was originally rejected is accepted after a review.

The C++ newsgroups originally were not moderated (comp.lang.c++ is still
not moderated). They accumulated spam, off-topic posts, and flame wars,
which made the newsgroups unpleasant to read and nearly useless. I
haven't looked at comp.lang.c++ for a long time, but the last time I
did, it was at least 90% noise. If you pefer a high percentage of noise
and flame wars, you can read that newsgroup instead of the moderated
ones, and post anything you want.

---
Steve Clamage, stephen.clamage@sun.com

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]