Lisp is the second-oldest high-level computer language after Fortran.
It is a very flexible and powerful language, and a lot of problems
arising in computer science were first solved using Lisp as a vehicle.
Besides being well-suited for solving AI problems, the world’s first
computer algebra system,
Macsyma, was implemented in Lisp, and,
more recently, Lisp was used in the package
Kenzo to solve
difficult problems in algebraic topology. Lisp is also the language of
Autocad and the editor
Emacs. Astonishingly, up to now,
Lisp has not been a mainstream language. The reasons for this are
mostly historical: in the first decades of computer history, resources
were scarce and a language for which the first implementations were
interpreters, which has automatic memory management as an essential
component, and which is used best inside large development environments
could not compete with lightweight languages for the computationally
easy problems which were tackled at that time.
Nowadays, the situation is drastically different. Computing power has
increased tremendously, thus making it possible to have powerful Lisp
environments on personal computers while still using only a fraction of
the available memory. Due to
Java, automatic memory management
has become a mainstream feature. In the meantime, Lisp itself has grown
Common Lisp, which is a powerful object-oriented language
for handling real-world applications, and for which many implementations
support native code compilation.
Consequently, using Lisp for problems outside its original realm of artificial intelligence is a very natural choice today, see (Fateman et al, 1995), (Fateman 2001), (Neuss 2002).