> > > Michael Hudson wrote: > > > > I suppose this wouldn't happen if we programmed in latin.
> > > Romans, go home?
> > "Romani eunt domum"?
> Now now now! Please write it down correctly on the wall one > godzillion times. :)
And so he should. It should be "Romani ite domum". Eunt is 3rd person plural subjunctive, whereas it should be imperative plural:
(dotimes (i GODZILLION) (format t "Romani ite domum~%"))
Tsk! The youth of today.
> Marco Antoniotti
Le Hibou -- Dalinian: Lisp. Java. Which one sounds sexier? RevAaron: Definitely Lisp. Lisp conjures up images of hippy coders, drugs, sex, and rock & roll. Late nights at Berkeley, coding in Lisp fueled by LSD. Java evokes a vision of a stereotypical nerd, with no life or social skills.
Chris Gehlker <gehl...@fastq.com> wrote in message <news:BA11F9F1.24000%gehlker@fastq.com>... > On 12/2/02 7:19 PM, in article > cf333042.0212021819.2f439...@posting.google.com, "Kaz Kylheku" > <k...@ashi.footprints.net> wrote:
> > You need to get some fact straight. Firstly, Ruby is a dumbed-down > > imitation of Lisp with a bad syntax.
> That's just silly. Ruby is a dumbed-down imitation of *Smalltalk* with a bad > syntax.
So what you are saying is that Smalltalk doesn't have bad syntax already.
On 12/4/02 4:41 PM, in article cf333042.0212041541.3b29c...@posting.google.com, "Kaz Kylheku"
<k...@ashi.footprints.net> wrote: > Chris Gehlker <gehl...@fastq.com> wrote in message > <news:BA11F9F1.24000%gehlker@fastq.com>... >> On 12/2/02 7:19 PM, in article >> cf333042.0212021819.2f439...@posting.google.com, "Kaz Kylheku" >> <k...@ashi.footprints.net> wrote:
>>> You need to get some fact straight. Firstly, Ruby is a dumbed-down >>> imitation of Lisp with a bad syntax.
>> That's just silly. Ruby is a dumbed-down imitation of *Smalltalk* with a bad >> syntax.
> So what you are saying is that Smalltalk doesn't have bad syntax already.
It's pretty funny when Lispers criticize *any* other language for it's syntax. Well, maybe they can criticize Perl.
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =-----
Chris Gehlker wrote: > It's pretty funny when Lispers criticize *any* other language for it's > syntax. Well, maybe they can criticize Perl.
What don't you like about Lisp's syntax? I don't know of anything better or that even comes close. Maybe Prolog. Not that I know every language. Just curious how Lisp comes in next-to-last in your book.
--
kenny tilton clinisys, inc --------------------------------------------------------------- ""Well, I've wrestled with reality for thirty-five years, Doctor, and I'm happy to state I finally won out over it."" Elwood P. Dowd
k...@ashi.footprints.net (Kaz Kylheku) writes: > Chris Gehlker <gehl...@fastq.com> wrote in message <news:BA11F9F1.24000%gehlker@fastq.com>... > > On 12/2/02 7:19 PM, in article > > cf333042.0212021819.2f439...@posting.google.com, "Kaz Kylheku" > > <k...@ashi.footprints.net> wrote:
> > > You need to get some fact straight. Firstly, Ruby is a dumbed-down > > > imitation of Lisp with a bad syntax.
> > That's just silly. Ruby is a dumbed-down imitation of *Smalltalk* with a bad > > syntax.
> So what you are saying is that Smalltalk doesn't have bad syntax already.
If he isn't, I'll say it. I doesn't. It has more syntax than Lisp, yes, but it's simple, striaghtforward, intuitive once you get a basic feel for it, and it all fits on a sheet of A4 paper! No weird precedence rules, and no statements: none of that bullshit.
-- /|_ .-----------------------. ,' .\ / | No to Imperialist war | ,--' _,' | Wage class war! | / / `-----------------------' ( -. | | ) | (`-. '--.) `. )----'
>> > > Michael Hudson wrote: >> > > > I suppose this wouldn't happen if we programmed in latin.
>> > > Romans, go home?
>> > "Romani eunt domum"?
>> Now now now! Please write it down correctly on the wall one >> godzillion times. :) > And so he should. It should be "Romani ite domum". Eunt is > 3rd person plural subjunctive, whereas it should be imperative > plural:
Eunt is indicative, not subjunctive.
[The subjunctive works though: "Romani eant domum" means pretty much the same as "Romani ite domum"]
In case you missed it, this is a reference to a scene in Monty Python's Life of Brian in which Brian sneaks out at night to write "Romanes eunt domus" on a wall; one of the Roman soldiers catches him at it, gives him a grammar lesson [though he tells him "domum" is locative case, which it's not...] and has him write out the corrected form ("Romani ite domum") a hundred times.
-- Men are born ignorant, not stupid; they are made stupid by education. -- Bertrand Russell (setq reply-to (concatenate 'string "Paul Foley " "<mycroft" '(#\@) "actrix.gen.nz>"))
>>>>>>I suppose this wouldn't happen if we programmed in latin.
>>>>>Romans, go home?
>>>> "Romani eunt domum"?
>>>Now now now! Please write it down correctly on the wall one >>>godzillion times. :)
>>And so he should. It should be "Romani ite domum". Eunt is >>3rd person plural subjunctive, whereas it should be imperative >>plural:
> Eunt is indicative, not subjunctive.
> [The subjunctive works though: "Romani eant domum" means pretty much > the same as "Romani ite domum"]
Oh, Christ, now I have no choice but to boot up the damn movie and get the straight dope from Cleese.
--
kenny tilton clinisys, inc --------------------------------------------------------------- ""Well, I've wrestled with reality for thirty-five years, Doctor, and I'm happy to state I finally won out over it."" Elwood P. Dowd
> Chris Gehlker wrote: >> It's pretty funny when Lispers criticize *any* other language for it's >> syntax. Well, maybe they can criticize Perl.
> What don't you like about Lisp's syntax? I don't know of anything better > or that even comes close. Maybe Prolog. Not that I know every language. > Just curious how Lisp comes in next-to-last in your book.
I'm not taking this too seriously because the whole subthread started with a joke but note a couple of things about Lisp. It is the only language I know of that needs a specialized set of layout rules to make it readable. Take a Lisp program and put it in a normal text mode and it becomes gibberish. Python is somewhat that way but one has considerable flexibility in formatting Python before it becomes unreadable. Lisp needs the meta syntax of something like ilisp to even be usable.
In his "History of Lisp" McCarthy says that he intended to clean up the syntax before Lisp became a production language but it got out in the world. I figure that if McCarthy wasn't happy with the syntax, it would be presumptuous of me to like it.
Parens are hard to type.
Some frequently used operators have names left over from the assembler for a defunct machine.
There's just too much off it. Most of the HyperSpec is just syntax. Compare Smalltalk. It's entire syntax fits on a couple of pages.
Some frequently used operators, i.e. Do, require the user to put required parameters in lists that are there just in case the user wanted to use optional parameters. Others use a perfectly good keyword system. The keyword system is nice and self documenting but this other, older?, method is arbitrary.
The syntax for returning multiple values from a function and for receiving them is awkward and inflexible.
There is no clue, other than sometimes the name, as to whether a function is a reader or a setter.
In short, Lisp has a reputation for being hard. Where did it get this reputation? Hardly from its semantics. AFAICT, the semantics of Lisp are clear and straightforward. It's just the syntax that is confusing.
If you don't believe me, and I don't really expect you to, compare any random set of postings here with those on any of the big C++ groups. Look at how many discussions here are about syntax, compared to those that are about semantics. Compare the C++ discussion where there simply aren't syntactical issues.
Am I saying that there is an inevitable trade-off between syntactic complexity and semantic purity? I don't know. It's an interesting question, though. I do believe that it takes a big language to write a small program but most of the semantic muddiness of C++ seems to come from the part of the language, generics, that strikes me as simply broken.
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =-----
On Thu, Dec 05, 2002 at 12:10:09AM -0700, Chris Gehlker wrote: > I'm not taking this too seriously because the whole subthread started with a > joke but note a couple of things about Lisp. It is the only language I know > of that needs a specialized set of layout rules to make it readable. Take a > Lisp program and put it in a normal text mode and it becomes gibberish. > Python is somewhat that way but one has considerable flexibility in > formatting Python before it becomes unreadable. Lisp needs the meta syntax > of something like ilisp to even be usable.
Seeing that Python is probably one of the few languages that actually enforces a layout style, your lack of imagination is sheerly incredible. Perhaps you should browse the obfuscated code contests for a number of languages to refresh your memory on how important formatting conventions really are for any language--Lisp or other.
> In his "History of Lisp" McCarthy says that he intended to clean up the > syntax before Lisp became a production language but it got out in the world. > I figure that if McCarthy wasn't happy with the syntax, it would be > presumptuous of me to like it.
The reason why he never ``cleaned up the syntax'' is because people liked it as it was, and didn't want his crappy M-expressions.
> Parens are hard to type.
Then fix your keybindings. It is common to remap [] to ().
How people get by typing crap like !@#$%^&*{} all day is beyond me.
> Some frequently used operators have names left over from the assembler for a > defunct machine.
This I don't argue but on the other hand, I haven't been able to think of a better name for CAR and CDR that fully expresses what they are; and neither has generations of language designers apparently. All I've seen are HD/HEAD and TL/TAIL, FST and SND, and none of these really expresses what a CONS cell is, or what its CAR and CDR are.
I would also say that the vast majority of functions have more descriptive names, it is just the old core of traditional ones that do not. There seems to be a tendency in the Lisp community these days to use more descriptive names over short cryptic ones.
> There's just too much off it. Most of the HyperSpec is just syntax. Compare > Smalltalk. It's entire syntax fits on a couple of pages.
When your language permits syntactic abstraction then syntax becomes part of the interface definition. Shall we throw out macros and complex-lambda-lists, then, and lose all benefits from them? Just so we can squeeze every possible way of thinking into a single syntax? (*cough*Java)
But if you think most of the Hyperspec is ``just syntax'' then you probably haven't understood any of it. Or Lisp syntax, for that matter.
> Some frequently used operators, i.e. Do, require the user to put required > parameters in lists that are there just in case the user wanted to use > optional parameters. Others use a perfectly good keyword system. The keyword > system is nice and self documenting but this other, older?, method is > arbitrary.
I don't see what you're saying about DO in particular. How else do you plan to disambiguate the variable-stepping-forms, the termination-test-form and the body?
(do (variable-stepping-forms*) termination-test-form body-forms*)
> The syntax for returning multiple values from a function and for receiving > them is awkward and inflexible.
I agree that the name MULTIPLE-VALUE-BIND is annoyingly long, but that's what name-completion is for. I don't see how you can claim it is inflexible though.
Try doing (multiple-value-bind (a b) 1 ...) in SML.
> There is no clue, other than sometimes the name, as to whether a function is > a reader or a setter.
This is why SETF was invented.
> In short, Lisp has a reputation for being hard. Where did it get this > reputation? Hardly from its semantics. AFAICT, the semantics of Lisp are > clear and straightforward. It's just the syntax that is confusing.
The syntax is only confusing to someone who cannot grasp nested expressions. I would say that someone cannot grasp nested expressions cannot grasp higher-level abstractions and thus cannot be an effective programmer anyway. Learning Lisp forces you to deal with higher-level abstractions, and thus you learn to become a better programmer.
> If you don't believe me, and I don't really expect you to, compare any > random set of postings here with those on any of the big C++ groups. Look at > how many discussions here are about syntax, compared to those that are about > semantics. Compare the C++ discussion where there simply aren't syntactical > issues.
Because they are stuck with a single syntax, for better or (more likely) worse? Whereas Lispers can mold the syntax to their own purposes, so of course that becomes a point of discussion.
If you don't believe me, and I don't really expect you to, compare any random set of discussions here [1] with those in any of the major totalitarianistic countries. Look at how many discussions here are about government, compared to those that are about farming. Compare the totalitarianistic country where there simply aren't governmental issues [to discuss].
[1] Where ``here'' would presumably be a democratic country.
> Am I saying that there is an inevitable trade-off between syntactic > complexity and semantic purity? I don't know. It's an interesting question, > though. I do believe that it takes a big language to write a small program > but most of the semantic muddiness of C++ seems to come from the part of the > language, generics, that strikes me as simply broken.
Show me how C++ can simply and easily express the semantics of the syntactic construct WITH-OPEN-FILE the way that Lisp does.
Then, while you are performing this daredevil feat, explain to me that allowing syntactic abstraction is a mistake.
-- ; Matthew Danish <mdan...@andrew.cmu.edu> ; OpenPGP public key: C24B6010 on keyring.debian.org ; Signed or encrypted mail welcome. ; "There is no dark side of the moon really; matter of fact, it's all dark."
Chris Gehlker <gehl...@fastq.com> writes: > In his "History of Lisp" McCarthy says that he intended to clean up > the syntax before Lisp became a production language but it got out > in the world. I figure that if McCarthy wasn't happy with the > syntax, it would be presumptuous of me to like it.
While this paragraph makes it clear that you're talking about LISP 1.5 or something of that era, most of your other remarks still reveal that you are quite ill-informed about lisp in general.
> [..] The syntax for returning multiple values from a function and > for receiving them is awkward and inflexible.
I didn't know that old lisps had multiple values, so presumably this is CL you're talking about. I'm very intrigued to know what is awkward about Common Lisp's multiple values. Really. How would it be better, according to you? I don't know any language where this is designed more elegantly. Are you missing C's "flexibility" of having to pass pointers to variables to hold extra values? Or the wonderfullness of receiving errno in a global variable? Or Python's pathetic attempt at simulating multiple values?
> There is no clue, other than sometimes the name, as to whether a > function is a reader or a setter.
Look at the two function names "foo" and "(setf foo)". Make a guess as to which is a reader and which is a setter. I don't know any language that provides a better mechanism for clues in this regard.
> On 12/4/02 7:47 PM, in article 3DEEBF25.9010...@nyc.rr.com, "Kenny Tilton" > <ktil...@nyc.rr.com> wrote:
> > Chris Gehlker wrote: > >> It's pretty funny when Lispers criticize *any* other language for it's > >> syntax. Well, maybe they can criticize Perl.
> > What don't you like about Lisp's syntax? I don't know of anything better > > or that even comes close. Maybe Prolog. Not that I know every language. > > Just curious how Lisp comes in next-to-last in your book.
> I'm not taking this too seriously because the whole subthread started with a > joke
Just wait and see how funny it gets! ;-)
> but note a couple of things about Lisp. It is the only language I know > of that needs a specialized set of layout rules to make it readable.
Aside from "indent" and "don't be an idiot" what rules do you mean?
If you want to convince me of this point you'll have to show me some examples of what you mean. Just to take C as a common language target, I think it quickly gets very obfuscated if you put your {}'s in unusual places, if you put multiple statements on one line and if you don't indent properly. How about deeply nested expressions in C? There is a reason no one does it. Plus, I don't know any language that is still readable if you screw up the indentation (I don't know that many languages though)
> Take a > Lisp program and put it in a normal text mode and it becomes gibberish. > Python is somewhat that way but one has considerable flexibility in > formatting Python before it becomes unreadable. Lisp needs the meta syntax > of something like ilisp to even be usable.
Lisp just needs one more level of indentation per extra level of nesting. What else?
> In his "History of Lisp" McCarthy says that he intended to clean up the > syntax before Lisp became a production language but it got out in the world. > I figure that if McCarthy wasn't happy with the syntax, it would be > presumptuous of me to like it.
> Parens are hard to type.
So is % && || != ++ { } $ @ etc... You really want to make noise about two characters?
> Some frequently used operators have names left over from the assembler for a > defunct machine.
I assume you mean CAR and CDR and I agree they are quirky. Why not use FIRST and REST?
> There's just too much off it. Most of the HyperSpec is just syntax.
I honestly don't know what you mean...I probably have a different understanding of "syntax"
> Some frequently used operators, i.e. Do, require the user to put required > parameters in lists that are there just in case the user wanted to use > optional parameters. Others use a perfectly good keyword system. The keyword > system is nice and self documenting but this other, older?, method is > arbitrary.
I never use DO and because of that find it hard to read. Just use LOOP, DOLIST, MAPCAR...
> The syntax for returning multiple values from a function and for receiving > them is awkward and inflexible.
How do you mean? A little akward, I guess, but it is a special thing to do and not that common. Do you have a suggested improvement?
I'm not trying to be argumentative, I just have such different impressions than you do and it makes me curious.
The Hyperspec is about the _semantics_ of each operation/special form. Perhaps you don't really know what the word "syntax" means, in the context of a computer language?
> In short, Lisp has a reputation for being hard.
It has a reputation for not being a language for dummies. I haven't seen any "Lisp in 21 days" books yet. (Should I write one? ;-)
> Where did it get this reputation? Hardly from its semantics. AFAICT, > the semantics of Lisp are clear and straightforward. It's just the > syntax that is confusing.
What can I say? I, and I suspect 99% of lisp programmers, never have _any_ problems whatsoever with syntax. Now *(foo*)p->blah++; /* what the hell does _that_ mean??? */
> If you don't believe me, and I don't really expect you to, compare any > random set of postings here with those on any of the big C++ groups. Look at > how many discussions here are about syntax, compared to those that are about > semantics. Compare the C++ discussion where there simply aren't syntactical > issues.
You're right; I don't believe you. I've ready c.l.l for about 5 years now, and I don't recall a single thread about difficult syntax. In fact, a google search on the words "difficult" and "syntax" in c.l.l. didn't return any relevant hits. The only one that seemed to come close was this Message-ID: <5edf2d$83b@Masala.CC.UH.EDU> and it's 5 years old. Perhaps you could point me to some messages I could look up.
In summary, Most lispers know that Lisp's crystal clear (and almost non-existent) syntax is one of the features which make it so powerful (via the macro system).
Chris Gehlker wrote: > On 12/4/02 7:47 PM, in article 3DEEBF25.9010...@nyc.rr.com, "Kenny Tilton" > <ktil...@nyc.rr.com> wrote: >>What don't you like about Lisp's syntax? I don't know of anything better >>or that even comes close. Maybe Prolog. Not that I know every language. >>Just curious how Lisp comes in next-to-last in your book.
> I'm not taking this too seriously because the whole subthread started with a > joke but note a couple of things about Lisp. It is the only language I know > of that needs a specialized set of layout rules to make it readable. Take a > Lisp program and put it in a normal text mode and it becomes gibberish. > Python is somewhat that way but one has considerable flexibility in > formatting Python before it becomes unreadable. Lisp needs the meta syntax > of something like ilisp to even be usable.
if (yourLanguageIsJava) System.out.println("You can have nasty errors,"); System.out.println("just because of the syntax");
> In his "History of Lisp" McCarthy says that he intended to clean up the > syntax before Lisp became a production language but it got out in the world. > I figure that if McCarthy wasn't happy with the syntax, it would be > presumptuous of me to like it.
Hint: I guess the inventor of chess wasn't a good chess player.
> Some frequently used operators have names left over from the assembler for a > defunct machine.
However, they are easy to learn and remember. car and cdr line up well because they both have three letters. My memory hook is that the "a" indicates "first element" and the "d" indicates "not the second (b), not the third (c), but somewhere in the rest of the alphabet". (You know, I can only count to three. ;-)
And then you can do nice things with combinations of these operators, like cadr, cdar, cadar, and so on. Some people don't like it, but I think these are quite useful in exploratory programming mode.
> There's just too much off it. Most of the HyperSpec is just syntax. Compare > Smalltalk. It's entire syntax fits on a couple of pages.
Huh? The syntax is as simple as can be: Everything is an s-expression, and the first element of a list determines the meaning of that list. That's it!
> In short, Lisp has a reputation for being hard. Where did it get this > reputation? Hardly from its semantics. AFAICT, the semantics of Lisp are > clear and straightforward. It's just the syntax that is confusing.
...but the syntax and the semantics of Lisp are closely coupled... ?!?
Pascal
-- Pascal Costanza University of Bonn mailto:costa...@web.de Institute of Computer Science III http://www.pascalcostanza.de Römerstr. 164, D-53117 Bonn (Germany)
Alain Picard <apicard+die-spammer-...@optushome.com.au> wrote: +--------------- | I haven't seen any "Lisp in 21 days" books yet. (Should I write one? ;-) +---------------
Maybe a (small) group should get together and just translate (if we can get his permission) Dorai Sitaram's "Teach Yourself Scheme in Fixnum Days" <URL:http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html> into Common Lisp syntax and idioms. It would need some work to add special variables (though it already covers FLUID-LET), the chapter on macros would be significantly different, and the continuation (call/cc etc.) stuff would have to be converted to talking about exceptions/conditions and threads (e.g., the "engines" stuff). On the other hand, the presentations of some topics would even be simpler (e.g., a lot of the development in the chapter on "Alists & Tables" could be simplified by changing it to "Alists & Hash Tables").
All in all I think it'd be a good template to work from.
-Rob
----- Rob Warnock, PP-ASEL-IA <r...@rpw3.org> 627 26th Avenue <URL:http://www.rpw3.org/> San Mateo, CA 94403 (650)572-2607
Chris Gehlker wrote: > It is the only language I know > of that needs a specialized set of layout rules to make it readable.
Hunh? I think 6502 assembler is the only language I've used which did /not/ require me to indent things just so to make it bearable to look at.
> I figure that if McCarthy wasn't happy with the syntax, it would be > presumptuous of me to like it.
<g>
> Parens are hard to type.
<g>
> Some frequently used operators have names left over from the assembler for a > defunct machine.
I /love/ the sense of history I get from using car and cdr.
> There's just too much off it. Most of the HyperSpec is just syntax.
Really? i thought it was just a long list of functions, macros, and special forms. I am still discovering new ones, I guess because I rarely look at OPC.
> Compare > Smalltalk. It's entire syntax fits on a couple of pages.
Lisp: (operator [argments]*)
> The syntax for returning multiple values from a function and for receiving > them is awkward and inflexible.
(values 1 2)? You're pulling our legs, right? :)
> If you don't believe me, and I don't really expect you to, compare any > random set of postings here with those on any of the big C++ groups.
Ah, C++. I think I actually started laughing as I read Stroustup's (sp?) annotated C++ and saw the syntax for declaring a function to be a pure virtual one:
pvfunc = 0;
I think that is also where I put the book down, the language, too.
> Am I saying that there is an inevitable trade-off between syntactic > complexity and semantic purity?
Ya got it backwards. Without Lisps syntactic simplicity, ya can't get to complexity.
Brave answer you posted, btw. Thx, things were getting a little sleepy around here.
:)
--
kenny tilton clinisys, inc --------------------------------------------------------------- ""Well, I've wrestled with reality for thirty-five years, Doctor, and I'm happy to state I finally won out over it."" Elwood P. Dowd
On 12/5/02 5:44 AM, in article 3DEF4B21.7020...@nyc.rr.com, "Kenny Tilton"
<ktil...@nyc.rr.com> wrote: > Brave answer you posted, btw. Thx, things were getting a little sleepy > around here.
Thanks Kenny. You sort of baited me into it so I'm going to use my reply to you to summarize my response to the thread so far:
To those who think that the persuasiveness of their argument is somehow proportional to the vehemence with which they express it, I would point out that the converse is, in fact, true.
To those who offered various work-arounds for what I asserted were problems with Lisp's syntax, I would argue that the utility of the work-arounds demonstrates the existence of the problems.
To the many who said that they find Lisp syntax very simple and elegant because the proper place to draw the line between syntax and semantics in Lisp is at the boundary of the S-expression, I would say you win, mostly. If that's the proper place to draw the line, then Lisp is almost syntax free and we are discussing nothing. The reason that your argument doesn't prevail completely is that S-expressions can be trees of arbitrary complexity and it seems that some of that complexity was elaborated in the language before the 'optional parameters are keyword parameters rule' came into play. So there is some cruft even in this trivial syntax.
To those who said, in some form or other, "The fact that you criticize Lisp's syntax merely demonstrates that you don't understand it. When you do understand it, you will recognize it as a thing of power and beauty." I would say:
I'm inclined to believe you. But if everything you say is true, then Lispers look more rather than less ridiculous when they criticize the syntax of other languages to users of those languages.
Finally, to those who say "That's my dog and I love her. She saved my family when my house caught fire. How dare you point out that spot of mange?" I would say:
Blame Kenny! He made me do it!
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =-----
Chris Gehlker <gehl...@fastq.com> writes: > I'm inclined to believe you. But if everything you say is true, then > Lispers look more rather than less ridiculous when they criticize > the syntax of other languages to users of those languages.
Why would you assume that anyone who knows lisp doesn't know whatever other language he's criticizing?
Chris Gehlker <gehl...@fastq.com> writes: > It's pretty funny when Lispers criticize *any* other language for it's > syntax. Well, maybe they can criticize Perl.
Lispers are entitled to criticise *all* other languages for their syntax.
Chris Gehlker wrote: > To the many who said that they find Lisp syntax very simple and elegant > because the proper place to draw the line between syntax and semantics in > Lisp is at the boundary of the S-expression...
yes. i think we may mean different things by "syntax". to me syntax gets weird with extraneous little bits of ad hoc notation, as in the C++ example of "= 0" meaning "pure virtual function. Or in Python, where [1, 2, 3] is a list and [1,2,3,] is a tuple. But to you...
> The reason that your argument doesn't prevail > completely is that S-expressions can be trees of arbitrary complexity ...
Here I think you are just talking about the readability of a large quantity of nested expressions, each of which enjoys the same, simple syntax. That does not make the /syntax/ a problem, that just means the coder possibly needs to break things up into smaller chunks.
which is not to say a large wadge of code properly formatted cannot be easily understood. if it is otherwise good code, there is a /lot/ going on in a large wadge of code. if i am reading it, i probably can break it down top-down and quickly find the bit i am concerned with.
anyway, this to me is not syntax.
> I'm inclined to believe you. But if everything you say is true, then Lispers > look more rather than less ridiculous when they criticize the syntax of > other languages to users of those languages.
To know them is to love them? Nah, the more Python I did the less I liked it. Mind you, the code /looks/ incredibly clean. But the price one pays for that is too high.
> Blame Kenny! He made me do it!
I thought I was setting a trap you would easily elude, you kinda dove into it whooping and hollering. :)
--
kenny tilton clinisys, inc --------------------------------------------------------------- ""Well, I've wrestled with reality for thirty-five years, Doctor, and I'm happy to state I finally won out over it."" Elwood P. Dowd
Joe Marshall <j...@ccs.neu.edu> writes: > > It's pretty funny when Lispers criticize *any* other language for it's > > syntax. Well, maybe they can criticize Perl.
> Lispers are entitled to criticise *all* other languages for their > syntax.
In fact, lately, while helping my son with mathematics, I'm starting to wonder if it would be better to teach schoolchildren lisp syntax rather than standard math syntax. When confronted with complex alge- braic expressions, children/teenagers often get confused and aren't at all able to apply all the precedence rules and come up with the correct parse. It would be interesting to see if young people would grasp algebra faster if they were taught s-expression-like algebra and could use their brain to do math instead of doing hard parsing :-) (and one obvious bonus would be that they would have to learn the concept of a _function_ at a very early stage, and that they would know that the basic arithmetic operators (*, +, ...) are functions (this is pretty hard to understand when you have been brainwashed for years that they are "reserved words"!) -- (espen)
Chris Gehlker <gehl...@fastq.com> writes: > I'm not taking this too seriously because the whole subthread started with a > joke but note a couple of things about Lisp. It is the only language I know > of that needs a specialized set of layout rules to make it readable. Take a > Lisp program and put it in a normal text mode and it becomes gibberish.
This is true of *any* block-structured language.
> Python is somewhat that way but one has considerable flexibility in > formatting Python before it becomes unreadable.
This is less true. Python is whitespace dependent, so hitting M-Q on a Python program will not only make it unreadable, it will make it unrunnable.
> Parens are hard to type.
The amount of pressure to depress a paren key is not significantly different from other key.
> Some frequently used operators have names left over from the assembler for a > defunct machine.
That's not syntax.
> There's just too much of it. Most of the HyperSpec is just syntax. > Compare Smalltalk. It's entire syntax fits on a couple of pages.
( operator argument ... ) <= one line
There is some `micro-syntax' involving strings, numbers, symbols, etc. But the syntax of Lisp is fairly minimal, especially when compared to popular languages such as Java, C, C++, Perl, PHP, VB, Javascript, etc.
> The syntax for returning multiple values from a function and for receiving > them is awkward and inflexible.
(values ....) can't get much simpler than that.
As for flexibility, the common case of getting multiple values when only one is needed doesn't need any syntax at all.
> If you don't believe me, and I don't really expect you to, compare any > random set of postings here with those on any of the big C++ groups. Look at > how many discussions here are about syntax, compared to those that are about > semantics. Compare the C++ discussion where there simply aren't syntactical > issues.
I don't believe you. Look on the web and find how many programs that can correctly parse the full C++ language (produce an abstract syntax tree from a text source). Producing an abstract syntax tree from Lisp code is trivial.
On 12/5/02 8:02 AM, in article 2h1y4wzeyj....@vserver.cs.uit.no, "Frode
Vatvedt Fjeld" <fro...@cs.uit.no> wrote: > Chris Gehlker <gehl...@fastq.com> writes:
>> I'm inclined to believe you. But if everything you say is true, then >> Lispers look more rather than less ridiculous when they criticize >> the syntax of other languages to users of those languages.
> Why would you assume that anyone who knows lisp doesn't know whatever > other language he's criticizing?
I didn't. My point was that the Lisper presumably knows that it takes some study to understand the virtues of Lisp syntax. That was the assertion of several Lispers on this thread. The person he is ostensibly addressing doesn't have this knowledge but has seen Lisp code and knows its reputation for being obscure. So the Lisper is talking to herself in public and ignoring the requirements of the audience. It is this behavior that I find ludicrous. It's not less silly if the person is really talking to the inner circle, hoping to gain their approval, while superficially addressing a newbie.
On many lists such behavior is called wanking or whoring, respectively. It seems to be more tolerated here. I guess I understand that. It's certainly excusable if indeed people who are more expressive in Lisp are being forced by PHBs to use something else.
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =-----