[Top] [All Lists]

Re: [ontolog-forum] IBM Watson's Final Jeopardy error "explanation"

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Thu, 17 Feb 2011 18:58:00 -0500
Message-id: <4D5DB608.6010202@xxxxxxxxxxx>
On 2/17/2011 5:15 PM, Ed Barkmeyer wrote:
> Unfortunately, the amount of high-quality
> research that was done under the name AI has been confused with the
> amount of high quality research in computational technologies that was
> not done under the name AI, because they have all been integrated into
> the foundations of computer science.    (01)

That is true, especially since many of the pioneers crossed over from
one to the other quite freely.  For dates, I'm relying on    (02)

_History of Programming Languages_, edited by Richard L. Wexelblat,
Academic Press, 1981.    (03)

On p. 176, McCarthy wrote that he had been using FORTRAN to write
a chess program in 1957-1958, which led him to propose the
"conditional expression", which he then proposed for Algol
in a letter to the _Communications of the ACM_.    (04)

McCarthy had also collaborated with Nat Rochester and Herb Gelernter
at IBM on the development of FLPL (FORTRAN List Processing Language).
He tried to write a program to do symbolic differentiation in FLPL and
realized that recursion was necessary, but FORTRAN didn't support it.    (05)

The design of LISP began in the fall of 1958, and the implementation
happened almost by accident.  As McCarthy wrote (p. 179), they started
with a recursive definition of the eval function to evaluate LISP
expressions.  But then "S. R. Russell noticed that eval could serve
as an interpreter for LISP, promptly hand coded it, and we now had
a programming language with an interpreter."    (06)

P. 181:  "The first successful LISP compiler was... written in LISP
and was claimed to be the first compiler written in the language
to be compiled."    (07)

> I believe many of the programming language pioneers of the late 1950s
> would argue that McCarthy took from their discussions as much as he
> provided, and that if-then-else and recursion, which were features of
> Algol 58, hardly originated with LISP.    (08)

We both get partial credit.  The conditional expression was proposed
for Algol 58, but it was McCarthy who proposed it.    (09)

> ... we finally did see IBM 360 Fortran H -- an optimizing compiler
> written in Fortran!  Whether John got the idea from McCarthy I couldn't say.    (010)

1963 was very late in the programming language game.    (011)

> But I think Wegner and Gear and Backus and Aronson have equal right to claim
> if-then-else, recursion, and the foundations of compiler technology.    (012)

McCarthy certainly didn't invent compilation, since he used FORTRAN
and FLPL before beginning to define LISP.  But it was his letter
about the weaknesses of the FOTRAN IF that proposed the conditional.    (013)

Recursive functions were common in logic since the 1930s, but
computational algorithms rarely used them.  The ALGOL article in
Wexelblat's book indicates that ALGOL 58 was a specification
rather than an implementation.  Many incompatible versions were
implemented in the 1959-60 years with different names, such as
MAD, JOVIAL, NELLIAC.  Page 86 says that recursion was required
for Algol 60.  For Algol 58, the only comment is that it was not
specifically forbidden.    (014)

>> Java is basically LISP + CLOS (Common Lisp Object System)
>> written in a syntax based on C.    (015)

> I wonder if Jim Gosling will agree with this characterization.  I took
> it rather that he had the benefit of 20 years worth of approximations to
> object-oriented programming, from Ada and its precursors, Smalltalk
> (from PARC), C and C++ (from Bell Labs), LISP/CLOS (Stanford, MIT),
> SAIL, Euclid, Objective C, etc.    (016)

Of course.  But the adoption of garbage collection makes Java much
closer in spirit to LISP+CLOS than to C++.  Smalltalk undoubtedly
had an influence on Java, but Smalltalk was also very strongly
influenced by LISP.  Even so, Java is more similar to LISP+CLOS
than to Smalltalk.  The similarity between LISP and Java is
apparent in the ability to compile LISP to Java bytecodes --
and by the many professors who had taught LISP for AI and
switched to Java for AI.    (017)

> My point is only that it is now convenient for John to recall many of
> the 'something else' technologies as 'AI contributions', when "AI" was
> for 20 years a reserved designation for a handful of universities and
> other programs working directly on knowledge modeling and language
> processing.    (018)

Actually the split between AI and mainstream commercial programming
occurred in 1864, when IBM switched to the 360 architecture.  Up to that
time, most AI programming was done on IBM 704-7094 systems, and most
LISP systems called the FORTRAN library for arithmetic functions.    (019)

But when IBM stopped making 7094s, MIT and Stanford decided to buy
the DEC 10, which cost as much as the 360/50 but had the performance
of the 360/65.  The net result was that mainstream data processing
stayed with IBM, but most universities followed MIT and Stanford
in moving to the DEC 10, Dec 20, and VAXen.    (020)

John    (021)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (022)

<Prev in Thread] Current Thread [Next in Thread>