Topic: JAVA -> comp.lang.c++.java ??
Author: adams@stay.sps.mot.com (Adam Seligman)
Date: 1995/07/06 Raw View
In article <3sus5h$p11@news1.mcs.net>,
Jim Fleming <jim.fleming@bytes.com> wrote:
[...]
>It seems to me that we have an "education problem". If modern language
>work placed more of an emphasis on semantics, then maybe people would
>not be debating how many colons it takes to make a program correct.
>
>It would have been nice if more emphasis on semantics had been part of
>the ISO/ANSI work in standardizing C++. As it stands, it appears to be
>a "repeat performance" of the previous "ANSI C show" with a few new actors,
>a more complex sript, but the same story line...or party line...
>
>Hopefully, Java can be used to refocus people on semantics and on
>more of the true merits of OO technology. In order to do this, we have
>to make sure that the semantics are showcased and the syntax debates
>are avoided until the semantics are well understood. Hopefully, educators
>and trainers will be able to see the merits of the focus on semantics
>when they see how quickly Java and the Java class library mature.
>When this occurs, the Java syntax will fade into the background.
[...]
Unfortunately, all the work I have seen so far on Java has been
the informal language specification. My criticism is that even though
the features of java might be improvements over C++, we still have the
fundamental problem of needing to deduce the semantics from an
informal language specification.
For example, one of the fundamental pitfalls that awaits most new (and
many experienced) C++ programmers, is how many of the OO features of
the language are "resolved" statically. Once the program compiles,
the only thing that is left to be resolved is for dynamically bound
methods (whose signature has already been determined statically) to be
picked out of a virtual function table for the object they are invoked
on. Overloading, inheritance, hiding, and the rest of those features
_are not around at run-time_.
To really understand C++, you have to think like a compiler. The
semantics are just not intuitive. The java people (like many others),
will fall into the same trap. If you leave programmer to deduce the
semantics of a language by herself, you had better hope that they are
straightforward enough to do that. With a rigid imperative language
like Pascal, that's a reasonable thing to do. C++ and Java, on the
other hand, are sufficiently complex that most programmers cannot do
that.
The standardization process appears to be approaching an
unimplementable standard. Many of the ambiguities in the language
specified by the ARM and the earlier drafts of the standard have been
resolved by "plugging" them with an example. You simply cannot build
a language as complex as C++ by example.
Adam Seligman
adams@risc.sps.mot.com
Author: imp@village.org (Warner Losh)
Date: 1995/07/06 Raw View
In article <3th8b4$foj@stay.sps.mot.com>,
Adam Seligman <adams@stay.sps.mot.com> wrote:
>If you leave programmer to deduce the
>semantics of a language by herself, you had better hope that they are
>straightforward enough to do that.
And years later, when things are tightened up, you'll find that people
will complain that their favorite quirk disappeared. Look at what's
happening with the C++ standarization process. One example is member
function pointers. Their semantics are much better defined today than
before, but many programs were written that don't conform to these
semantics, so people (like me :-) complain. That's the price of an
informal (or not sufficiently formal) spec. :-(.
Warner
--
Warner Losh "VMS Forever" home: imp@village.org
Cyberspace Development, Inc work: imp@marketplace.com
Makers of TIA, The Internet Adapter. http://marketplace.com/
Author: jim.fleming@bytes.com (Jim Fleming)
Date: 1995/06/29 Raw View
In article <3suksl$e18@stay.sps.mot.com>, adams@stay.sps.mot.com says...
>
>In article <3sniue$ss3@news1.mcs.com>,
>Jim Fleming <jim.fleming@bytes.com> wrote:
>[...]
>>I am not sure that Java will be able to have much influence on the
>>C++ ANSI/ISO standards efforts. It might be able to influence the class
>>library standard but this remains to be seen. Hopefully, the people
>>working on the ISO/ANSI C++ standard will study Java very closely.
>>
>>It may be too late, but there are always revisions that are possible.
>>At least the record will show that the cat was out of the bag on Java
>>and the ANSI/ISO committee members had an opportunity to study it.
>[...]
>
>I just read the Java Language specification from Sun's ftp site. Much
>has been stripped from C++, and some syntactic changes have been made
>as well. I believe that the Java language specification is pretty nebulous
>when it comes to method binding. So, the semantics of the language
>might be an improvement over C++, but who can tell? The user, once
>again, is left to try and deduce the semantics of the language from an
>imprecise, informal language specification. If Java requires all
>interaction with objects to have reference semantics, we will get
>quite different behavior than C++'s call by value (+copy constructors
>to do the work) semantics. We end with source that looks very similar
>but has very different behavior.
>
>We all seem to spend a lot of time arguing about fine points of C++ on
>this group. Some compilers implement some feature one way, some other
>compiler disagrees, and we all fight about which one is correct, and
>what passage hidden in the language standard (draft) implies it. I
>think there is a more fundamental problem than any arbitrary
>feature...nebulous semantics.
>
>
>Cheers,
> Adam Seligman
@@@@@@@@@@@@@@@@
I agree! Unfortunately, we seem to have a large (and growing) group of
computer scientists and programmers that focus primarily on the "syntax".
I have not figured out a way to get people to consider the semantics. In
some cases, I have discovered that programmers do not even know what this
means. They seem to follow patterns and syntax rules and look at the
output or program behavior and do not consider the behind the scenes
semantics that make things work. A similar situation exists for people
that make phone calls and do not have a clue that there is a massive
central office that makes things happen.
It seems to me that we have an "education problem". If modern language
work placed more of an emphasis on semantics, then maybe people would
not be debating how many colons it takes to make a program correct.
It would have been nice if more emphasis on semantics had been part of
the ISO/ANSI work in standardizing C++. As it stands, it appears to be
a "repeat performance" of the previous "ANSI C show" with a few new actors,
a more complex sript, but the same story line...or party line...
Hopefully, Java can be used to refocus people on semantics and on
more of the true merits of OO technology. In order to do this, we have
to make sure that the semantics are showcased and the syntax debates
are avoided until the semantics are well understood. Hopefully, educators
and trainers will be able to see the merits of the focus on semantics
when they see how quickly Java and the Java class library mature.
When this occurs, the Java syntax will fade into the background.
--
Jim Fleming /|\ Unir Corporation Unir Technology, Inc.
jrf@tiger.bytes.com / | \ One Naperville Plaza 184 Shuman Blvd. #100
%Techno Cat I / | \ Naperville, IL 60563 Naperville, IL 60563
East End, Tortola |____|___\ 1-708-505-5801 1-800-222-UNIR(8647)
British Virgin Islands__|______ 1-708-305-3277 (FAX) 1-708-305-0600
\__/-------\__/ http:199.3.34.13 telnet: port 5555
Smooth Sailing on Cruising C+@amarans ftp: 199.3.34.12 <-----stargate----+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\____to the end of the OuterNet_|
Author: jim.fleming@bytes.com (Jim Fleming)
Date: 1995/06/30 Raw View
In article <3svkb6$ppt@africa.lm.com>, kanak@telerama.lm.com says...
>
>Jim Fleming (jim.fleming@bytes.com) wrote:
>
>> As we continue to discuss the merits of having a comp.lang.java newsgroup
>> the question has been raised about whether a more appropriate name should
>> be.....comp.lang.c++.java....to more properly plave the JAVA language as
a
>> "dialect" of C++.
>
>But it's not a dialect of C++. Dialects of C++, if there are such a
>thing, are clearly the various vendor dependent releases on the road to a
>final ANSI spec.
>
@@@@@@
This sounds like a plan...
There has been mention of ANSI Standard Java in one of the Java mailing
lists. Hopefully, the person was joking. From what I have experienced,
focusing people on the development of an ANSI Standard can take a lot
of time and energy which may be better invested in improving the base
of software, documentation, class libraries, applications, etc.
Besides, ANSI standards efforts can become loaded with political
mis-direction and "head fakes". I endured one in the early 80's and
companies participated and claimed to be willing to endorse, support,
nurture, etc. the final standard. When the standard was complete, many
of the companies were headed in very different directions and it seemed
that they participated in the standards effort simply to make sure that
it (the standard) was not strong enough to invade their space.
@@@@@@
>> I would be interested in people's views on this. I have only posted this
>> message to comp.lang.c++ but clearly any significant discussion should
>> become part of the discussion record on news.groups where the offical
>> RFD is posted.
>
>I think it is assinine. comp.lang.java should be fine.
>--
>
@@@@@
Thanks for your frank viewpoint. I think we know where you stand...:)
--
Jim Fleming /|\ Unir Corporation Unir Technology, Inc.
jrf@tiger.bytes.com / | \ One Naperville Plaza 184 Shuman Blvd. #100
%Techno Cat I / | \ Naperville, IL 60563 Naperville, IL 60563
East End, Tortola |____|___\ 1-708-505-5801 1-800-222-UNIR(8647)
British Virgin Islands__|______ 1-708-305-3277 (FAX) 1-708-305-0600
\__/-------\__/ http:199.3.34.13 telnet: port 5555
Smooth Sailing on Cruising C+@amarans ftp: 199.3.34.12 <-----stargate----+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\____to the end of the OuterNet_|
Author: adams@stay.sps.mot.com (Adam Seligman)
Date: 1995/06/29 Raw View
In article <3sniue$ss3@news1.mcs.com>,
Jim Fleming <jim.fleming@bytes.com> wrote:
[...]
>I am not sure that Java will be able to have much influence on the
>C++ ANSI/ISO standards efforts. It might be able to influence the class
>library standard but this remains to be seen. Hopefully, the people
>working on the ISO/ANSI C++ standard will study Java very closely.
>
>It may be too late, but there are always revisions that are possible.
>At least the record will show that the cat was out of the bag on Java
>and the ANSI/ISO committee members had an opportunity to study it.
[...]
I just read the Java Language specification from Sun's ftp site. Much
has been stripped from C++, and some syntactic changes have been made
as well. I believe that the Java language specification is pretty nebulous
when it comes to method binding. So, the semantics of the language
might be an improvement over C++, but who can tell? The user, once
again, is left to try and deduce the semantics of the language from an
imprecise, informal language specification. If Java requires all
interaction with objects to have reference semantics, we will get
quite different behavior than C++'s call by value (+copy constructors
to do the work) semantics. We end with source that looks very similar
but has very different behavior.
We all seem to spend a lot of time arguing about fine points of C++ on
this group. Some compilers implement some feature one way, some other
compiler disagrees, and we all fight about which one is correct, and
what passage hidden in the language standard (draft) implies it. I
think there is a more fundamental problem than any arbitrary
feature...nebulous semantics.
Cheers,
Adam Seligman
adams@pets.sps.mot.com
-- formal analysis of C++: type rules and operational semantics --
ftp://cs.williams.edu/pub/students/95als/main.ps or main.dvi
Author: jim.fleming@bytes.com (Jim Fleming)
Date: 1995/06/27 Raw View
In article <3sn3gj$efb@pandora.sdsu.edu>, larryr@saturn.sdsu.edu says...
>
>Jim Fleming (jim.fleming@bytes.com) wrote:
>> As we continue to discuss the merits of having a comp.lang.java newsgroup
>> the question has been raised about whether a more appropriate name should
>> be.....comp.lang.c++.java....to more properly plave the JAVA language as
a
>> "dialect" of C++.
>
>Then wouldn't this group need to be comp.lang.c.c++, and then the other
>group would be comp.lang.c.c++.java? :)
>
>
>Larry
That is a very good point...although, I do not think that it would be
possible to make several changes at one time...Change, with regard to
Usenet comes very slowly...
Some people would argue that C++ and C are distinct languages. Therefore,
there are separate newsgroups for the language as well as the standards.
I suppose that you could find people on both sides of the fence when it
comes to having C++ replace C via a "merging" of the standards.
I am not sure that Java will be able to have much influence on the
C++ ANSI/ISO standards efforts. It might be able to influence the class
library standard but this remains to be seen. Hopefully, the people
working on the ISO/ANSI C++ standard will study Java very closely.
It may be too late, but there are always revisions that are possible.
At least the record will show that the cat was out of the bag on Java
and the ANSI/ISO committee members had an opportunity to study it.
--
Jim Fleming /|\ Unir Corporation Unir Technology, Inc.
jrf@tiger.bytes.com / | \ One Naperville Plaza 184 Shuman Blvd. #100
%Techno Cat I / | \ Naperville, IL 60563 Naperville, IL 60563
East End, Tortola |____|___\ 1-708-505-5801 1-800-222-UNIR(8647)
British Virgin Islands__|______ 1-708-305-3277 (FAX) 1-708-305-0600
\__/-------\__/ http:199.3.34.13 telnet: port 5555
Smooth Sailing on Cruising C+@amarans ftp: 199.3.34.12 <-----stargate----+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\____to the end of the OuterNet_|