In his Feb. 13 article, “LISP Deserves a Fresh Look,” Peter Coffee wrote: “Arent your machines getting faster much more quickly than your programmers are getting smarter?”
He should note that AMD has released a processor that prevents you from executing stack data as commands—a big advancement the likes of which we have not seen since the PDP 11/45 separated the address space into code, data and stack.
What does this have to do with LISP? The proponents of LISP claim that the strength of LISP is that data is indistinguishable from instructions because everything is a list, including the executable statements. How do most buffer overflows get into Windows programs? By overflowing a data item on the stack that overwrites the return address, which executes data as if it were code.
So, what happens if the LISP code is not totally bug-free? Ever seen bug-free code of any significant size or complexity?