Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!asuvax!noao!arizona!gudeman From: gudeman@cs.arizona.edu (David Gudeman) Newsgroups: comp.lang.misc Subject: Re: scheme [Re: What does an anti-perl look like] Message-ID: <4673@optima.cs.arizona.edu> Date: 28 Jun 91 10:12:34 GMT Sender: news@cs.arizona.edu Lines: 161 In article <2928.UUL1.3#5129@willett.pgh.pa.us> Doug Philips writes: ]In article <4601@optima.cs.arizona.edu>, ]+Definition: A "wrong syntax" is any syntax that is uncomfortable for ]+the people using it. ] ]No, it is "uncomfortable syntax." (NOT (EQ 'Uncomfortable 'Wrong)) ]see also very last comment. People who choose which programming language to use are going to agree with my definition, and are not usually going to choose a language with wrong syntax. ]Indeed. As someone else has already pointed out, Lisp syntax allows ]programs/code to be data, and visa versa. Of course, if you come ]from a background in Algol-like languages, you may not see how that ]could be valuable. If you think that orthogonality between syntax ]and semantics is useful, you would like lisp syntax. Oh please. I am fully conversant with high-level language issues. I don't like algol-like languages, and I don't have anything against lisp syntax personally. My objection to lisp syntax is that it is a problem for _other_ people. It is not a problem for me. Furthermore, there is no relationship between lisp syntax and the ability to treat program as data. Quite the contrary, prolog does a much better job (in my opinion) of treating programs as data, and prolog has traditional syntax. ]The fact is part of what makes lisp powerful is its highly regular ]syntax and that it permits the program/data division to be easily ]crossed. Half true. The program-as-data is an extremely valuable paradigm. The "highly regular syntax" (which is a myth anyway) has nothing to do with it. In fact, I suspect that the syntax of lisp was a major factor in making C the language of the 80's, and the syntax of scheme is what will make some other language the language of the 90's. ]Just as the people who use Algol-like languages have become ]institutionalized and assume that everyone is just like them. True enough. People who think there is no alternative to static typing irritate me even more than people who think lisp syntax is a non-issue. ]Wake up? Why? You haven't said anything new. You keep asserting the ]same things over and over with no support. ] ]All hail the long and venerated tradition. Contrary to you? What support have you given for your view except for your contempt of tradition and of the convenience of others? ]You: X! ]Me: Support it. ]You: if not X, then X. Prove not X to me or I'll assume X. ] ]Yawn. Can you distinguish between a challenge to support and a claim ]for an opposite position? Yes I can. Can you? You have _not_ just said "support it", you have been making counter claims (see the end). You have been claiming "not X" which is different from just asking me to support my view. Furthermore, I have not said anything similar to "Prove not X to me or I'll assume X". I reached my conclusions about X on my own, thank you, with evidence that is conclusive enough for my purposes. If you can show me counter-X evidence that is stronger than my X evidence, I will likely change my mind. This is not an emotional issue with me. ]+... My experience involves a ]+non-scientific sample of perhaps 10 to 20 individuals who learned ]+lisp and didn't like it. When asked why they didn't like it, the ]+syntax is _always_ mentioned as a negative feature. The sample size ]+is small, but the variance is impressively low. ] ]When the sample size is small, the variance don't tell you squat. On the contrary. With a variance of 0, a sample size of 10 is quite telling. If you tossed a coin 10 times and got heads every time, wouldn't you feel safe in concluding that the coin is _very_ probably biased? ]You cannot prove your position by lack of opposition. Of course you ]gave the game away when you admitted it was a matter of opinion. Where did I admit that? I said that some people are comfortable with lisp syntax and some aren't. So I guess the anwer to the question "is lisp syntax comfortable?" is a matter of opinion. But the question "is lisp syntax a hindrance in getting people to except lisp?" is not a matter of opinion. The answer is clearly "yes". ]I agree that beginning programmers aren't the biggest problem. They ]haven't yet learned any preconceived notions about how programming ]languages should be written. That admission undermines your position ]about "modern mathematical notations", which is not the source of the ]difficulty, and highlights that it is instead dogmatic adherence to the ]syntax of an early learned language. That admission does not undermine my position about modern mathematical notations at all. There are at least two or three effects here. (Since you seem to like arguing about rhetorical method, I will observe that the following is speculation. However, what I am trying to explain by the speculation is the _observation_ that lisp syntax is a hindrance in getting people to accept lisp.) First, people learn infix notation and f(x) notation from their early school years. If they learn lisp as their first programming language, then they have no reason to expect that the programming language will be like math (after all, prose isn't like math), so they don't rebel against the difference. But on the other hand, they don't have the helpful semantic hooks to use when learning lisp that they would have had learning a language that looks more like math. So learning to program has been harder for them than it should have been, but they won't know that. People who already know a language with a more traditional syntax already know that it is possible to make languages look like math, and they will expect it. When these more experienced people don't get their little semantic hooks they _know_ that they are being subjected to unnecessary difficulty. That is the source of the negative reactions to lisp. A third possible factor is that lisp notation is actually, objectively harder for the human mind to grasp. I wouldn't want to claim this outright, but I rather suspect that it is true. I _don't_ believe this in general about prefix and postfix notations (like Postscript). Human languages have all three forms of operator/operand distribution: prefix, infix and postfix (and arguably "outfix" or brackets). What human languages don't have (as far as I know) is any pervasive feature that could be described as prefix-with-required-brackets. ]Since it is not confusing to beginners who have no preconceived ]notions about programming languages, Looks like you are claiming "not X" there. What's your evidence? ] _and_ (tie in from first ]comment...) since it is something that people can become accustomed ]to, If you mean "everyone" or even "most everyone" can become accustomed to it, then you are making another assertion without evidence. If you only mean "some people" then your following: ] THEN the real point is that rightness/wrongness is nothing ]*inherent* about the syntax itself, but is merely a matter of the ]habitual experience of people. doesn't follow. Furthermore, _I_ already suggested that this difficulty is probably caused by experience. Your final sentence makes it sound like like I was arguing against that. My point (as I clearly stated it before) is that it doesn't matter why people have difficulty with lisp syntax, they do. And if their problems are just because they are not used to it then it is still a real problem. (And you haven't even proven that the problems can be overcome by everyone). -- David Gudeman gudeman@cs.arizona.edu noao!arizona!gudeman