File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes Is java decendent of smalltalk or c++ Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Is java decendent of smalltalk or c++" Watch "Is java decendent of smalltalk or c++" New topic

Is java decendent of smalltalk or c++

sushindranath k

Joined: Nov 30, 2006
Posts: 6
hi all,

A simple query,

Is java decendent of smalltalk or c++

Chengwei Lee
Ranch Hand

Joined: Apr 02, 2004
Posts: 884
I wouldn't call Java a descendant of either. Sounds pretty weird to me. I would classify Java as a enhanced version of C++.

SCJP 1.4 * SCWCD 1.4 * SCBCD 1.3 * SCJA 1.0 * TOGAF 8
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
Java was designed with an eye on C++. One goal was to surprise and confuse C++ programmers as little as possible, making it easy for them to move to Java. Another goal was to leave out C++ features that surprised and confused too many people, making Java easier and less error prone for everyone.

Language or Object Oriented perfection was not a goal, and was hence missed by a wide margin. It pays the bills and amuses me, which is all I ask.

A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Ernest Friedman-Hill
author and iconoclast

Joined: Jul 08, 2003
Posts: 24199

Well... I usually don't argue too much with Stan, but here I'm going to make a rather different claim.

Although many people will tell you Java is a C++ descendant, it's mostly people who don't know much about Smalltalk who will tell you this. Java is an unholy marriage between Smalltalk and C++, with bits and pieces from other languages thrown in. It's like a computer-language Oreo cookie, with C++ being the chocolaty wafers, and Smalltalk being the delicious congealed trans-fat center.

Java has a type system superficially similar to C++'s; it has an object model far closer to Smalltalk's. Java has syntax closer to C++; it has semantics closer to Smalltalk. The list goes on and on.

[Jess in Action][AskingGoodQuestions]
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
I don't think we disagreed. I avoided the word "descendant" cause I couldn't define what that would mean. Java's syntax was deliberately made similar to C/C++ which saddens me to this day. All OO owes a lot to Smalltalk. My exposure to Smalltalk was brief but I loved it. I wish that kind of syntax and the message sending metaphor had caught on. If nothing else it was different enough from anything else to constantly remind you that you're really doing something different. In a long career it's very tempting (and often very wrong) to make every new language do what the last one did.
I agree. Here's the link:
subject: Is java decendent of smalltalk or c++
It's not a secret anymore!