Subject: Re: Future of Lisp From: Erik Naggum <erik@naggum.no> Date: 1995/07/27 Newsgroups: comp.lang.lisp Message-ID: <19950727T063605Z@naggum.no> [Billy Tanksley] | [Syntax] is Lisp's greatest downfall. It seems that all Lispers | believe that Lisp has a beautiful syntax-- but to a non-Lisper, it's | horrid. I've tried to learn Lisp quite a few times now, and every time | I've given up in disgust over the overdose of parenthesis. in a private exchange, I learned that parentheses are regarded as important in infix syntaxes, since they change the order of evaluation, perhaps leading to a cognitive load on those who have developed "reroute sign" associations with parentheses. in Lisp, they are much less important, and serve a completely different role. just as the semicolon is regarded as unimportant in C, parentheses in Lisp serve as innocuous delimiters of the interesting stuff. if you had a semicolon fixation, Pascal syntax would be really hard, as it is not at all obvious where they should go. likewise, the parenthesis fixation that comes from exposure to languages that are so badly designed that you need to put up "reroute signs" to go where you want will hurt you in better designed languages. | The problem appears to me to be in the books; every one assumes that | the parenthetical notation is easy and intuitive, and it just never | ceases to throw me. I can understand writing that code with a good | editor to check parens, but reading it is (right now) horrible! Is | Lisp just not intended to be read, or is it something else? Lisp must be indented to be read. most other languages can do without proper indentation, but Lisp can't. | I DO want to learn Lisp, but it's frustrating! hang in there. you should try to desensitize yourself to parentheses, try to find out why you see them so clearly, and perhaps try to regard other characters as unusually prominent, for balance, like asterisks or semicolons in C. once you've gotten past the parenthesis fixation, you will find that a regular syntax for both data and code makes certain operations very easy, such as programs that analyze code and functions that generate code. also, the fact that you have access to the same functions Lisp uses to read and evaluate your code makes it easier to create small application languages on the side or top of Lisp, store data in files to be read back by any Lisp program, etc. when you get all this because of a unified syntax, it becomes even more important to overcome your parenthophobia. #<Erik 3015815764> -- NETSCAPISM /net-'sca-,pi-z*m/ n (1995): habitual diversion of the mind to purely imaginative activity or entertainment as an escape from the realization that the Internet was built by and for someone else.