DESCRIPTION
Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized Polish prefixnotation. Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older (by one year). Like Fortran, Lisp has changed a great deal since its early days, and a number of dialects have existed over its history. Today, the most widely known general-purpose Lisp dialects are Common Lisp and Scheme.
It quickly became the favored programming language for Artificial Intelligence (AI) research. As one of the earliest programming languages, Lisp pioneered many ideas in computer science, including Tree Data Structures, Automatic Storage Management, Dynamic Typing, and the Self-Hosting Compiler.
HISTORY
LISP was invented by John McCarthy in 1958 at Massachusetts Institute of Technology (MIT).
- McCarthy published its design in a paper in Communications of the ACM in 1960, entitled "Recursive Functions of Symbolic Expressions and Their Computation by Machine
- Lisp was first implemented by Steve Russell on an IBM 704 computer. Russell had read McCarthy's paper, and realized (to McCarthy's surprise) that the Lisp eval function could be implemented in machine code. The result was a working Lisp interpreter which could be used to run Lisp programs, or more properly, evaluate Lisp expressions.'
- In 1962, the first complete LISP compiler was implemented by Tim Hart and Mike Levin at MIT.
- in 1970s, LISP became a hard system to implement because of its compiler techniques and stock hardware. Garbage collection, developed by Daniel Edwards made it practical to run LISP on general purpose computing system. Yet, the efficiency was sacrificed then LISP Machines were created dedicated to run LISP programs.
- 1980s and 1990s, A great effort was done to unify the Lisp dialects into a single programming language. Common Lisp became compatible with the dialects it replaced.
- In 1994, ANSI (American National Standards Institute) published the Common Lisp standard, "ANSI X3.226-1994 Information Technology Programming Language Common Lisp."
Lisp WAS used in AI until the end of the 1980s. In the 80s, though, Common Lisp was oversold to the business world as the "AI language"; the backlash forced most AI programmers to C++ for a few years. These days, prototypes usually are written in a younger dynamic language (Perl, Python, Ruby, etc) and implementations of successful research is usually in C or C++ (sometimes Java).
If you're curious about the 70's...well, I wasn't there. But I think Lisp was successful in AI research for three reasons (in order of importance):
- Lisp is an excellent prototyping tool. It was the best for a very long time. Lisp is still great at tackling a problem you don't know how to solve yet. That description characterises AI perfectly.
- Lisp supports symbolic programming well. Old AI was also symbolic. It was also unique in this regard for a long time.
- Lisp is very powerful. The code/data distinction is weaker so it feels more extensible than other languages because your functions and macros look like the built-in stuff
___________________________________________
what do they say about LISP?...
"LISP programmers know the value of everything
and the cost of nothing".
"We toast the LISP programmer who pens his thoughts within nests of parentheses."
- Alan Jay Perlis
American Computer Scientist, 1st recipient of the Turing Award
it seems so foreign"
-Paul Graham
Co-founder ViaWeb(eventually became Yahoo! Store)
and Y Combinator
"Those who do not know LISP are doomed to reinvent it."
- Erik Naggum
Norwegian Computer Programmer
- Ailea Kathleen M. Garcera, ICS Instructor
- Danilo J. Mercado, ICS Professor
- Arian J. Jacildo, ICS Professor
Some Students say...
"LISP is very complex in nature.
___________________________________________
Some ICS Instructors and Professors say...
___________________________________________
Some Students say...
"LISP is very complex in nature.
As a functional programming language,
it is hard for an ordinary person to understand it. But What's good about functional programming
languages is that it is ideal for problem solving which is the
core objective of any programmer..."
- Gilmar N. San Buenaventura, BSCS Batch '10
"LISP has many flavors that may be more suitable
for what a modern programmer
needs. It is suggestible to use some newer and more used flavors
of scheme like Scheme and Common LISP...."
-Adrian Paul L. Anacay, BSCS Batch '10
"Programming LISP is like a trip in Wonderland."
- Mary Alexis O. Solis, BSCS Batch '10
"In programming LISP you have to think Mathematically and
Out of the common"
Out of the common"
- Katherine Loren M. Tan, BSCS Batch '10
Sample program that prints "Hello World"
Sample program in LISP that gets the factorial of an integer
___________________________________________
References:
http://en.wikipedia.org/wiki/Lisp_(programming_language)
http://progopedia.com/language/lisp/
http://groups.engin.umd.umich.edu/CIS/course.des/cis400/lisp/hworld.html
http://stackoverflow.com/questions/130475/why-is-lisp-used-for-ai
http://www.gigamonkeys.com/book/introduction-why-lisp.html
http://stackoverflow.com/questions/130475/why-is-lisp-used-for-ai
http://www.gigamonkeys.com/book/introduction-why-lisp.html
Group Members:
CMSC 124 T - 4L
CMSC 124 T - 4L
Solis, Mary Alexis
Tan, Katherine Loren
San Buenaventura, Gilmar
Olazo, Vianese Jasmine
Anacay, Adrian Paul
Anacay, Adrian Paul
No comments:
Post a Comment