Xref: utzoo comp.lang.lisp:3670 comp.lang.scheme:1675 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!know!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!uunet!mcsun!ukc!edcastle!aiai!jeff From: jeff@aiai.ed.ac.uk (Jeff Dalton) Newsgroups: comp.lang.lisp,comp.lang.scheme Subject: Re: Ahem. [Re: Virtues of Lisp syntax] Message-ID: <3428@skye.ed.ac.uk> Date: 17 Sep 90 19:02:33 GMT References: <3408@skye.ed.ac.uk> <15089@yunexus.YorkU.CA> Reply-To: jeff@aiai.UUCP (Jeff Dalton) Organization: AIAI, University of Edinburgh, Scotland Lines: 76 In article <15089@yunexus.YorkU.CA> oz@yunexus.yorku.ca (Ozan Yigit) writes: >In article <3408@skye.ed.ac.uk> jeff@aiai.UUCP (Jeff Dalton) writes: >>... It's true that different people will prefer different >>syntaxes and that we can't say they're wrong to do so. However, we >>shouldn't go on to conclude that all views on the virtues or otherwise >>of a syntax are equally valid. >It follows therefore that one should try to substantiate some or all of the >claims regarding the effectiveness and benefits of a syntax, such as that >of lisp, instead of just presenting opinions. What follows from what I said is that people should find out how good Lisp programmers use the language before deciding that it has an inherently losing syntax. >I have seen studies on "natural artificial languages" [...] but I don't recall >seeing a study that has a definitive word on overwhelming benefits of one >syntax over another. If you know of any that substantiate various claims >[so far made] about lisp syntax, I would be very interested in it. I thought I was reasonably clear about what I had in mind when making the statement you quote above, namely such things as the fact that some people decide against Lisp syntax when they haven't used a good editor or haven't learned some of the more effective techniques for understanding Lisp. The point I was making above was, more or less, just that informed opinion should carry more weight than uninformed opinion. This has rather little to do with definitive words on the overwhelming benefits of one syntax over another. I suppose, however, I have claimed that Lisp's syntax is simpler than some of the alternatives. That seems to me rather self-evident. In any case, I don't intend to argue about it. I have also claimed that Lisp's quoting rules needn't be more confusing than those of other languages such as (for example) Basic. I don't expect everyone to agree with me on this, but it's based on the observation that quotes are needed in the same cases, namely when the external representation of some data object might otherwise be mistaken for an expression. This suggests that it should be possible to explain (enough of) Lisp's quotation rules in a way that is not more confusing. If you want to say this is "just opinion", I suppose we'll just have to disagree. >>You can get *some* of the benefits, but by sacrificing some >>of the others. Lisp occupies something like a local maximum in >>"benefit space". > >Really. QED is it? That's right, at least until someone provides a counterexample :-) Steve Knight provided one, but of the wrong sort. He showed that one of the benefits of Lisp syntax -- extensibility -- could be obtained with another syntax. But it was done by giving up some of the simplicity of the Lisp approach. I am quite happy for someone to decide that the syntax of some other language is better than that of Lisp, or that they prefer to give up some of the simplicity (or whatever other virtues might be claimed). Indeed, I think these are questions on which reasonable people can reasonably disagree. It's a mistake, in my view, to suppose that some sort of study will give us the definitive answers. However, when people start saying that Lisp's syntax is a cost rather than a benefit, with implication that everyone ought to see it that way, I think it makes sense to point out that some people *don't* see it that way, that they don't feel they are tolerating the syntax in order to get extensibility (or whatever), that they're aren't trying to make life easier for machines at their own expense, and so on. Any definitive answer about Lisp syntax has to take these views into account. -- Jeff