Lisp (programming language): Difference between revisions

Content deleted Content added
Skyvine (talk | contribs)
m History: Move paragraph to avoid implying an inaccurate timeline. Based on McCarthy/Wexelblat, the paper was published after Lisp 1.5 (including the implementation of eval and use of car/cdr).
Skyvine (talk | contribs)
History: Update citation to credit McCarthy for authoring the relevant chapter.
Line 99:
{{Multiple image |direction=vertical |image1=John McCarthy Stanford.jpg |image2=Steve Russell.jpg |footer=[[John McCarthy (computer scientist)|John McCarthy]] (top) and [[Steve Russell (computer scientist)|Steve Russell]]}}
 
[[John McCarthy (computer scientist)|John McCarthy]] began developing Lisp in 1958 while he was at the [[Massachusetts Institute of Technology]] (MIT). He was motivated by a desire to create an AI programming language that would work on the IBM 704, as he believed that "IBM looked like a good bet to pursue Artificial Intelligence research vigorously."<ref name="wexelblat-history-programming-languages>{{cite book |title=History of programming languages |lastlast1=McCarthy |first1=John |last2=Wexelblat |firstfirst2=Richard L. |year=1978 |isbn=0127450408 |publisher=Association for Computing Machinery |page=173-183}}</ref> He was influenced by the design (and limitations) of the [[Fortran]] List Processing Language, which implemented the core idea of taking instruction input as a series of lists but used Fortran as a host language. McCarthy was dissatisfied with this language because it did not support [[Recursion (computer science)|recursion]] or a modern [[Conditional (computer programming)#If–then(–else)|if-then-else]] statement (which was a new concept when lisp was first introduced) {{NoteTag|At the time, Fortran had an if-then-else construct that accepted line numbers as jump targets, in the manner of a [[GoTo]] statement, rather than accepting arbitrary expression in "then" and "else" blocks}}<ref name="wexelblat-history-programming-languages" />.
 
[[Information Processing Language]] was the first [[Artificial intelligence|AI]] language, from 1955 or 1956, and already included many of the concepts, such as list-processing and recursion, which came to be used in Lisp.