The End of C++

A

Agent Mulder

Hi group,
I had a horrible vision of C++ falling
to pieces because of a very structural
but clear dichotomy close at its heart:

Ellis,Stroustrup;"The Annotated C++
Reference Manual", 1995, section 11.2:

"Defining a default access specifier (for
members) was probably a mistake."

The notion of a "class" is void because
the same can be done with "struct" with
explicit access specifiers. My 14th sense
tells me this is wrong and disbalances the
language. Do C++ programmers wear
asymmetrical moustaches?

:-!)

-X
 
J

jeffc

Agent Mulder said:
Hi group,
I had a horrible vision of C++ falling
to pieces because of a very structural
but clear dichotomy close at its heart:

Ellis,Stroustrup;"The Annotated C++
Reference Manual", 1995, section 11.2:

"Defining a default access specifier (for
members) was probably a mistake."

The notion of a "class" is void because
the same can be done with "struct" with
explicit access specifiers.

They kept both for usability purposes, not technical C++ language reasons.
 
A

Agent Mulder

Ellis,Stroustrup;"The Annotated C++
Reference Manual", 1995, section 11.2:

"Defining a default access specifier (for
members) was probably a mistake."

I don't see how you get from here to "C++ falling to pieces", unless of
course you're just trolling, but you wouldn't do that, now, would you?

If it takes a troll to make you think
I'll be a troll, yes. Look at the wording,

"probably a mistake"

Doesn't that tell you enough? Big mistake!
It's like two brothers were one is allowed
everything and the other is allowed nothing.
Asymmetric. I don't know what it means but
I use my intuition and my imagination and I
see the whole tower of C++ lean over very
slightly, very very slightly...

:-")

-X
 
I

Ioannis Vranos

Agent Mulder said:
Hi group,
I had a horrible vision of C++ falling
to pieces

Nonsense.



because of a very structural
but clear dichotomy close at its heart:


Ellis,Stroustrup;"The Annotated C++
Reference Manual", 1995, section 11.2:

"Defining a default access specifier (for
members) was probably a mistake."



Minor details. If you do not want to leave the default, you can define
everything explicitly.



The notion of a "class" is void because
the same can be done with "struct" with
explicit access specifiers.


struct has also a default access specifier, public.

My 14th sense
tells me this is wrong and disbalances the
language. Do C++ programmers wear
asymmetrical moustaches?



My sense is that it would be more beneficial for you to read a good, up to
date, standard C++ introductory book. Check http://www.accu.org at the Book
Reviews section. I have heared good things about "Accelerated C++" by Andrew
Koenig, Barbara Moo:
http://www.research.att.com/~ark/bibliography/accelerated.html







--
Ioannis

* Programming pages: http://www.noicys.freeurl.com
* Alternative URL 1: http://run.to/noicys
* Alternative URL 2: http://www.noicys.cjb.net
 
J

jeffc

Agent Mulder said:
I don't see how you get from here to "C++ falling to pieces", unless of
course you're just trolling, but you wouldn't do that, now, would you?

If it takes a troll to make you think
I'll be a troll, yes. Look at the wording,

"probably a mistake"

Doesn't that tell you enough? Big mistake!

If not a troll, then delusional.
 
O

Oliver S.

"Defining a default access specifier (for
members) was probably a mistake."

The notion of a "class" is void because ....

Do you think that your thoughts would be of any interest
for a real-world programmer that doesn't consider program-
ming a religious issue ?
 
S

Stephen Howe

The notion of a "class" is void because
the same can be done with "struct" with
explicit access specifiers. My 14th sense
tells me this is wrong and disbalances the
language. Do C++ programmers wear
asymmetrical moustaches?

How could this possibly lead to "The End of C++?????".

Please check yourself into the nearest asylum and don't bother this
newsgroup until you come out with some sense of perspective.

Stephen Howe
 
A

Agent Mulder

<Agent Mulder>
The notion of a "class" is void because
the same can be done with "struct" with
explicit access specifiers. My 14th sense
tells me this is wrong and disbalances the
language.
</Agent Mulder>

SH> How could this possibly lead to "The End of C++?????".

Because it is a design failure. The end of C++
is inevitable, anyhow, also without this. But it
already earned its fair place in the history of
computing. And up until the last "standard" is
written, people can and will work hard for it.

An indication of the feeble ground C++ is
build upon is the attitude of its users. See
how people flame on issues like D, C# or
Java. That's not the attitude of a winner. I
don't expect everyone to read the annotated
C++ reference or C99 (!) , but the notion is
common that C++ is rather evolutionary than
revolutionary and evolution doesn't stop. So
what you hold for THE language is just a
passing phase.

-X
will find it's fair pla
 
S

stelios xanthakis

Agent Mulder said:
Doesn't that tell you enough? Big mistake!
It's like two brothers were one is allowed
everything and the other is allowed nothing.
Asymmetric. I don't know what it means but
I use my intuition and my imagination and I
see the whole tower of C++ lean over very
slightly, very very slightly...

It depends on how seriously one takes access specifiers.

If you're an access-control-freak, class and struct have
a symmetry. If you believe that acess control is a waste
of time (since, little impact it has on the resulting code),
you can say that "C++ is falling apart".

Anyway. Class was made initially to say "this is not a simple
good old structure. It has member functions". I use class
for objects with code and struct for plain structures.

Why did they make class private by default?
That indeed seems more like a reason to justify the existance
of the new keyword.

These are the opinions of my boss, of course.

stelios
 
S

Stephen Howe

SH> How could this possibly lead to "The End of C++?????".
Because it is a design failure.

Not really. C++ comes with some baggage becasue it was built on C. It also
has some baggage due to the historical process. An example: "this" should be
a reference rather than a pointer. But references were invented after
"this".

But these are minor points. None of them indicate "C++" is a design failure.
An indication of the feeble ground C++ is
build upon is the attitude of its users. See
how people flame on issues like D, C# or
Java. That's not the attitude of a winner.

What, you expect that argument to convince me?
More telling, is your judgement on "people".

For example, C#, Java and D (optionally) support Garbage Collection.
People have pointed out that GC is not a universal panacea for all problems.
If you see that as "flames", then that say something about you, the
inability to realise that something important was said.

That is not to say GC is useless, it is not suitable for everything.

Then again, I have doubts whether Java could be used for writing device
drivers. Ditto for C#. But you could with C++ and D.
don't expect everyone to read the annotated
C++ reference or C99 (!) , but the notion is
common that C++ is rather evolutionary than
revolutionary and evolution doesn't stop. So
what you hold for THE language is just a
passing phase.

True. I expect the next version of C++ to gain better support for
compile-time evaluation. That fits in neatly with its concept of "determine
errors if possible at compile-time rather than run-time". Some of "Modern
C++" by Alexander Alexandrescu would benefit from this. But C++ is a success
and no way a failure. Nor will it end.

Stephen Howe
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top