History of Computers - LISP

From SJS Wiki
Jump to: navigation, search

Intro

Lisp is a general purpose programming language family, dating back to 1958, named after and designed for "LISt Processing" (identifying and manipulating variables in data strings) [1] [2]. Lisp's ability to easily extract certain variables from a large list of data made it useful for mathematical calculations and, later on, an ideal programming language for artificial intelligence.[3]

Overview

Origin and Adaption

Lisp was first conceived in 1958 by John McCarthy while working at MIT. He initially published his ideas for the language in an article in a tech magazine, Communications for the ACM, titled "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I" [4]. A man named Steve Russell read the article and discovered that he could program the language's "eval" function using S-expressions in a way that a CPU could recognize and run the language, thus creating a Lisp interpreter and allowing Lisp to become a legitimate programming language [5]. Following initial success as a new and intriguing idea, but with little practical widespread application, Lisp rapidly branched out into numerous sub-languages with a specific purpose such as MACLisp and ZetaLisp (Both used for research and programming at MIT) and InterLisp (An adaption developed by Xerox for around the office workstations)[6]. In the early 80's a movement to consolidate the many sub-languages to create one all-purpose language for widespread use lead to the development of "Common Lisp" in 1986 [7].

Lisp Machines

220px-LISP_machine.jpg Following introduction of the artificial intelligence concept in the late 50's, many research labs and organizations found it difficult to run the incredibly large AI programs on typical workstation computers. As a result, MIT helped develop the Knight machine, named after inventor Thomas Knight, which exclusively ran the Lisp language for the sole purpose of running AI programs at high speeds.[8]. Only a couple decades after their initial invention, the development of microcomputers, which could run the programs far faster, and a sudden loss in interest in artificial intelligence, dubbed the "AI winter"[9] rendered the Lisp machines obsolete and halted their production.

Open Source

Following the "AI winter" the use of Lisp all but vanished for more almost two decades, until its sudden revival in the mid 2000's with the rise in interest in open source software, like Linux, and applications, like the Android market. In the same way Lisp's adaptability allowed it to fragment initially into numerous sub-languages, the rise in open-source systems, and their need for adaptable, widespread programming languages, has revived Common Lisp and returned the language to relevance again[10].

Significance

Lisp is significant to the development of computers because it was one of the first long-lasting programming languages. Lisp is tightly linked to artificial intelligence, and will likely continue to be used as a tool for AI in the future if any advances in technology occur. Despite the current "AI Winter" that caused its decline, Lisp has reemerged as a widespread language with the recent interest in open-source technology and projects, and the philosophy behind Lisp has given rise to other languages such as Scheme and Clojure.[11]

Links

Lisp Wikipedia Page

References

  1. Structure and Interpretation of Computer Programs..
  2. Technopedia List Processing..
  3. Lisp and AI.
  4. Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I..
  5. The First Lisp Implementation..
  6. History of Lisp.
  7. A History..
  8. [file:///C:/Users/Sandra%20Spears/Downloads/AIM-444.pdf Lisp Machines MIT.].
  9. AI Winter..
  10. Why Lisp?..
  11. http://clojure.org/reference/lisps