5

I was reading in the side bar of the Java language wiki page and it says it was influenced by Pascal and Delphi. this isn't the fact anymore, there are no references to Delphi on the entire referenced wiki page as of this edit, probably should remove all references to Delph from this question as well

At first glance Java appears to just be C++ with a garbage collector, and no pointers. Delphi and Java both came out the same year.

I am curious if someone who knows Java and Pascal / Delphi really well could look at Java and say "Feature X in Java is influenced by feature Y in Pascal (or Delphi)."

Additionally was the influence in later versions of Java (so the feature from Pascal or Delphi didn't show up until Java version Z), or was it actually in the seeds of the Java language? Delphi and Java both came out the same year, so Delphi's influence in the genesis of Java seems less likely.

Alternatively it may be that Delphi or Pascal influenced the Java Platform in some other way, and not the language specifically.

[This was rewritten to be clearer. That may have changed the scope of the question to the point the existing comments and answers don't fit. My intention was to clarify and not change.]

13
  • 21
    "The problem with quotes found on the internet is you have no way of confirming their authenticity." - Abraham Lincoln. Jul 28, 2011 at 18:55
  • 4
    Seriously, though. Having seen the birth of Java, it really seemed to be the answer to the operator-soup C++ was becoming more than anything. A clean C++, if you will. C#, however, being created by Anders (who also created Turbo Pascal and Delphi), seems to take its roots almost squarely from Java and Delphi. Jul 28, 2011 at 18:57
  • 2
    Also, I just read the white paper linked to on that wiki page (java.sun.com/docs/white/delegates.html) and it seems that they considered some Object Pascal design for Java but ultimately rejected it. Jul 28, 2011 at 19:02
  • 2
    I think it was the JavaBean specification that most of the influence was seen in.
    – mezmo
    Jul 28, 2011 at 19:43
  • 2
    @TMN - Delphi was a non-standard variant of Pascal packaged with RAD tools, libraries etc. Turbo Pascal already wasn't standard Pascal at least as far back as version 4.0 - before then, it was probably already extended, but mostly used to compile standard Pascal. With 4 (or maybe 3), Turbo Pascal became the de-facto Pascal standard, making the official standard increasingly irrelevant. C++-like classes first appeared in version 5.5. So Delphi was kinda "just" Turbo Pascal with lots of extra tools and libraries, but Turbo Pascal hadn't been "just" Pascal for quite a while.
    – user8709
    Jul 30, 2011 at 2:02

3 Answers 3

5

One definitive influence on java was the idea and use of p-Code (pseudo-code) in the Pascal package from UCSD. It was popular in the early days of the Apple-II computer.

This idea of p-Code is very similar to that of Java.

4

Yes, according to http://www.levenez.com/lang/ (and other sites I'm too lazy to list) Java has a distant relationship with Pascal through the chain: Pascal -> Mesa -> Cedar -> Oak/Java. This same site shows a more recent influence into Java from C#, which has its own lineage going back to Pascal -> Turbo Pascal -> Delphi through its architect Anders Hejlsberg.

Just do a google search for "lineage of programming languages" and browse til you can't stand looking at huge linage charts any more. ;)

4
  • 1
    that's pushing it quite a bit, I rather see some specific evidence of a feature that was implemented in Java that came from Pascal, that's like saying that you are influenced by your great great great grand father, sure it can happen, but in most cases, you don't even know his name Jul 29, 2011 at 16:15
  • 1
    @BlackTigerX - if your great great great great grandfather happened to be Dickens, though... Pascal was a very widely used language, whereas Mesa and Cedar were much less will known. It's implausible that none of the Java developers had ever used Pascal, and barely more plausible that none of the Java developers had ever used Turbo Pascal. Lineage charts often simplify, not including the explicit arrows for grandfather, great grandfather, etc influences even when they occur directly as well as indirectly. That said, Turbo Pascal 5.5 (first object Pascal?) was heavily C++-influenced anyway.
    – user8709
    Jul 29, 2011 at 16:25
  • I had seen that chart and others, but I am curious if someone who knows Java and Pascal / Delphi could look at Java and say "See this feature here, it is influenced by Pascal (or Delphi)." I'll update the question. Jul 30, 2011 at 2:05
  • @Steve314 Turbo Pascal 5.5 was heavily influenced by Object Pascal from Apple. QuickPascal 1.0 stems from the same influence. Both Borland (with Turbo Pascal 5.5) and Microsoft (with QuickPascal 1.0) were in 1989 rushing as to get their product to the market first. They both shipped without a decent OO UI framework. Aug 15, 2011 at 7:05
2

Contrary to popular folklore, Java was strongly influenced by Objective-C and not C++. This is a usenet post by one of the people working on the Oak project that became Java. He explains that Oak had a number of people who'd come to Sun from NeXT, and that key early decisions in Java's design like single inheritance, multiple interfaces and supporting both primitives and object-type number vales came from ObjC.

Notice that the conversation also describes just how far removed the principles of Modula-3 - and by association Pascal - are from Java.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.