I've just come out of a lecture wherein we were told that Java took the
good bits from C++ and Smalltalk and Ada. Someone else at the same
university told me a few months ago that Ada's OO support is inferior but
I suspect that he wasn't aware that Ada 83 is object based whereas Ada 95
is object oriented (and he mentioned the implementation of rendezvous in
Ada as insufficient). I was once reading a C++ book which said that Ada 95
is only object based. Its coverage of C++ was terminologically flawed too
and I never finished reading it.
W. Wesley Groleau said:
"[..]After a certain amount of
coding time had gone by, they said, "Hey, several classes of bugs we are
finding are very similar to each other. Why don't we make a new
programming language that prevents these?" So, they got a copy of a C
textbook, crossed out everything that was 'dangerous' in their opinion,
and turned the rest into a language. Then added the OO concepts. The guy
even held the book up to the camera and showed how much was lined out on
That's what was on the video. Now here's the part I speculated on after
learning a little about Java: If anybody ever said, "But what about this
feature?" then the answer must have been, "Well, it hasn't caused us as
many problems, so let's leave it in there." For example, since these guys
were all experienced C programmers, for every time they forgot a break
statement, they walked off the end of an array ten times. So they fixed
arrays, but left "break" as it was.
Evidence that they didn't even bother to look at other languages is that
they rejected features as "impossible to do safely" that Ada 95 (and
sometimes Ada 83) had already figured out how to do safely.
On Fri, 2 Feb 2001, S. Ron Oliver wrote:
[..] I know
people who were involved in that early work, and they told me essentially
the same thing. One person, in particular, who shall remain nameless, had
done his graduate work in programming languages. He pushed, without
success, to have some modern language features considered. Soon after that
he left Sun. [..]"