Lisp (programming language): Difference between revisions

Content deleted Content added
Skyvine (talk | contribs)
m Add footnote section so it actually appears in the article
Skyvine (talk | contribs)
m History: Fix link so it goes straight to the correct page instead of a disambiguation
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 |last1=McCarthy |first1=John |last2=Wexelblat |first2=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 [[GoToGoto]] 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.