You have a problem to solve. You can state the problem in your native language (e.g. English). You need a computer program that solves it.<p>You can use a low-level programming language (e.g. assembler) which is very close to the machine. Or you can use a high-level programming language that is very close to the problem statement (e.g. Planner). Lisp allows you to do both at once. You can write something like (integrate (car x))... that is, you take the 0th offset from a memory pointer (car) and compute a high level function (integrate). Lisp is "clay for the mind". You can shape it to fit your problem.<p>This is the "impedence mismatch" problem (like hooking a soda straw to a fire hose). Most programming languages are a mismatch of your problem and a mismatch of your solution. Lisp allows you to alter Lisp to fit both the problem and the solution. It is a "programmable programming language".