John W. Kennedy said:
1964 PL/I (announcement, as "NPL")
There must have been an "xPL" naming scheme at that time,
because there also was "CPL", which was influenced by Algol 60
and Christopher Strachey.
http://en.wikipedia.org/wiki/Combined_Programming_Language
Its design goal was similar to PL/I as a "large" language for
every purpose.
CPL was a predecessor of BCPL, then B, the C. Since C++ is
based on C, and the Java-Syntax was created to be familiar for
C and C++ programmers, Java is remotely and partially based on
CPL.
Strachey sometimes is quoted as if he had coined the term
"polymorphism" in a CPL-related summercamp lecture in 1967.
But now I read these lecture notes and found that he only
coined the distinction between parametric and ad-hoc
polymorphism, but takes the basic notion of "polymorphism" for
granted.
Sometimes, the sentence »Polymorphism is the ability of a
function to handle objects of many types« is attributed to
Strachey or this lecture, but this is not contained in the
summercamp lecture notes.
So, I am still looking for an CPL manual predating this
lecture, because it might contain an early definition of
"polymorphism". I am still searching for the roots of this
notion.
"The main features of the CPL" from Volume 6, Issue 2, of "The
Computer Journal" might help to clarify that, because
"polymorphism" might have been used therein to describe some
aspect of CPL. But, they seem to have published several issues
online
http://comjnl.oxfordjournals.org/archive/1963.dtl
but not that very issue in question. Actually, it has been
published
http://scholar.google.com/scholar?q...al/hdb/Volume_06/Issue_02/060134.sgm.abs.html
, but now has disappeared from the web.
Well, many things happend in 1967, Strachey gave this
lecture and Kay coined "object-oriented", and then?
»Computer science has been in a dark age since the 1970s.«
(Lupo LeBoucher)
I recently heard someone boast that they have a
natural-language system that can understand references by
words like "it". But this was already achieved by SHRDLU in
1968-1970.
http://hci.stanford.edu/~winograd/shrdlu/
So, where is the progress?
Oh yes: Java now does have a »printf«, so that one can
fill output fields more easily.
The March of Progress
1980: C
printf("%10.2f", x);
1988: C++
cout << setw(10) << setprecision(2) << showpoint << x;
1996: Java
java.text.NumberFormat formatter =
java.text.NumberFormat.getNumberInstance();
formatter.setMinimumFractionDigits(2);
formatter.setMaximumFractionDigits(2);
String s = formatter.format(x);
for (int i = s.length(); i < 10; i++)
System.out.print(' ');
System.out.print(s);
2004: Java
System.out.printf("%10.2f", x);
http://horstmann.com/
And this does not even use
import static System.out;
which could make the last line even shorter.