Hacker News new | ask | show | jobs
by pvg 5973 days ago
The people who assert over and over again that Java was influenced by this language or that language do so because this language or that language has a better reputation among programmers than Java

The post was written by one of the people who worked on Java, not somebody trying to impress you by associating Java with some language you like better. Are you trying to say Patrick Naughton is just making this up?

1 comments

As pointed out in my post, the alleged influence simply isn't there, or isn't there enough to justify the claim. Someone who cites Smalltalk as their inspiration before going off and creating a statically-typed OO language with primitive types and classes that aren't real objects either didn't understand Smalltalk or deliberately chose to distort the concepts imbued in it enough that they no longer have a right to claim it as an antecedent.

Gosling and others have been making claims of this sort for years, and yes, I do believe that they do so with the hope of improving their language's reputation, and further, to give their users the impression that they aren't missing out on anything by sticking with Java; that Gosing et al. studied the cream of the language crop when designing Java, took the good parts and left the cruft behind, so why bother trying anything else?

They cited Obj-C, not Smalltalk. Specific people and specific aspects of the design are mentioned, you haven't actually described how it isn't influenced by Obj-C. Which, incidentally, has primitive types, the plain C part can do static type-checking, etc. In any event the claim is the design is influenced by Obj-C not that it is actually just like Obj-C, a distinction you seem to have trouble making.
The claim is that interfaces ripped off prototypes. I'd say that interfaces are a lot closer to C++ abstract classes than prototypes. Whatever they claim, here's my test:

Tell a C++ compiler engineer to make language "C++ minus templates and multiple inheritance plus GC" and you'll probably end up very close to Java.

What do you tell an objective-C compiler engineer to get Java? "Start with obc-c and ..."?

Maybe it's convergent independent evolution, but if obc-c is a branch to the left from C and C++ is a branch to the right, then claiming that Java comes from obj-c means Java must have pulled a very hard right early in its development.

"They cited Obj-C, not Smalltalk."

The author also cites Goslings "lots of experience" with Smalltalk.

"In any event the claim is the design is influenced by Obj-C not that it is actually just like Obj-C, a distinction you seem to have trouble making."

The influence is not sufficient to justify that claim any more than Java's garbage collection would justify its designers in describing Java as "Lispy" or "Lisp-like."

"We were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp." - Guy Steele, co-author of the Java spec
Guy Steele apparently measures distance on a log scale. :)