NOTE TO EVERYBODY: This is a wiki! Feel free to edit this page or any other directly instead of just leaving "comments" that make the page highly confusing to first-time visitors!

Lisp (originally for "LISt Processing") is the second-oldest family of programming languages in common use today (FortranLanguage is the other). It is also the first functional language. McCarthy's original Lisp has spawned many dialects. The most notable modern dialects are CommonLispLanguage and SchemeLanguage.

Because of its very consistent syntax, it is certainly one of the most flexible programming languages ever created. It is the language which has brought us such powerful concepts as dynamic typing, garbage collection, or metaprogramming (the possibility for the code to modify itself, since the code is a list, and Lisp manipulates lists).

Lisp has some features that are still unknown in imperative languages, like the possibility of changing source code while running, making the modify-run cycle extremely fast, or the possibility of compiling only parts of the code and mixing interpreted and compiled code in the same program.

Contrarily to the common misconception, Lisp is often quite fast, especially when compiled (as it usually is). With a good compiler and fully-optimised code, can generate code with speed comparable to C programs.


I disagree with the above statement that "Lisp is nowhere near as fast as C". If you write a good LISP program and run it on your PC, it will run slower than a similar program written in C. This is because your PC was designed to run C programs. A computer that is designed to run LISP programs will show excellent performance and probably surpass C programs on your PC.--MikeLeonhard


Just some comments here...

AndrewKuehn: I'd like to see a benchmark for CMUCL. Anyway, GCC is hardly the best compiler in existence; if Lisp really wants to prove its speed, it will go against ICC. And that MacLisp example is, well, the 70s :) Compiler technology has progressed since then.

MikeLeonhard: Just nitpicking here, but I think that "C programs are designed to run on your PC" is more accurate than "Your PC was designed to run C programs." When x86 was invented, C was only a few years old.

JeremyFincher: Yes, but the von Neumann architecture wasn't just a few years old, and that architecture is what C is targetted at.

-- CharlesKrohn

Your method of replying to our comments is very confusing. Please try to do just a single paragraph reply and make sure that it is directly after the comment that you are replying to. Thanks. --MikeLeonhard


CategoryLanguage

LispLanguage (last edited 2008-07-09 05:47:57 by localhost)