What is 'LISP'?
LISP is one of the oldest programming languages that is still in use. The name comes from LISt Processing, and lists are one of the central features of the language. LISP is essentially a functional language, but you can also choose to use it procedurally. Therefore, some LISP programmers are purists who frown on constructs such as
As an example, the following program computes a factorial:
(defun fac(n) (if (= n 0) 1 (* n (fac (- n 1)))))
The basic syntax of all LISP code (with the exception of a few special constructs) is
LISP is also an object-oriented language, using the Common LISP Object System, or CLOS.
Some developers argue against LISP because it is weakly typed. Proponents argue the speed of development and flexibility of coding more than makes up for the compile-time errors that you would catch with strong typing. Moreover, you can enforce type checking if you prefer by using constructs such as
If you have no experience of LISP, a good way of trying it out might be to download CLISP.