From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 107f24,626a0a064b320310 X-Google-Attributes: gid107f24,public X-Google-Thread: f4fd2,626a0a064b320310 X-Google-Attributes: gidf4fd2,public X-Google-Thread: 10259a,626a0a064b320310 X-Google-Attributes: gid10259a,public X-Google-Thread: 103d24,626a0a064b320310 X-Google-Attributes: gid103d24,public X-Google-Thread: 114809,626a0a064b320310 X-Google-Attributes: gid114809,public X-Google-Thread: 1164ba,626a0a064b320310 X-Google-Attributes: gid1164ba,public X-Google-Thread: 103376,ea8ea502d35ca2ce X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-05-10 13:25:46 PST Path: newsfeed.google.com!sn-xit-02!supernews.com!easynews!hermes2.visi.com!news-out.visi.com!ruti.visi.com!not-for-mail Newsgroups: comp.lang.ada,comp.lang.lisp,comp.lang.smalltalk,comp.lang.basic,comp.lang.functional,comp.lang.scheme,comp.lang.perl Subject: Re: Beginner's Language? References: <9cukad$nn68@news-dxb> <9dc20p$hh15e$1@ID-37382.news.dfncis.de> <9dclnt$9ic1@news.cis.okstate.edu> From: thornley@visi.com (David Thornley) Message-ID: Date: Thu, 10 May 2001 20:08:06 GMT NNTP-Posting-Host: 209.98.98.8 X-Complaints-To: abuse@visi.com X-Trace: ruti.visi.com 989525286 209.98.98.8 (Thu, 10 May 2001 15:08:06 CDT) NNTP-Posting-Date: Thu, 10 May 2001 15:08:06 CDT Xref: newsfeed.google.com comp.lang.ada:7501 comp.lang.lisp:9986 comp.lang.smalltalk:9702 comp.lang.functional:5637 comp.lang.scheme:3787 comp.lang.perl:2791 Date: 2001-05-10T20:08:06+00:00 List-Id: In article <9dclnt$9ic1@news.cis.okstate.edu>, David Starner wrote: >On Wed, 09 May 2001 18:01:10 -0500, Sashank Varma wrote: > >Tell me what > !bbz#,^az@bz, >does. > >Then tell me what > > OPEN FILE ARGUMENT 2 AS 2 > BEGIN LOOP > LOAD FILE ARGUMENT 1 INTO BUFFER > COPY BUFFER TO 2 > FINISH LOOP >does. > I can make much better guesses in the latter case. Is it realistic? Is it going to fool the beginner into thinking that he or she can write English? I knew a woman who had difficulty in learning COBOL because she took the English-like quality too seriously, and never remembered the exact phrase she needed. Like READ FOO INTO BAR AT END GO TO BAZ. She would substitute all sorts of apparently equivalent things for "AT END". >If I came upon the first, I would give up. The second, anyone can >probably get some idea of basically what it's doing. For a new >student, knowing that they aren't totally lost can be a huge >confidence builder. > What's this BUFFER business? Isn't that something that you put in aspirin? What are these 2s for and why are they arguing? To understand the preceding, you need to have some idea of how computer programs work, and hence you already need to be a programmer. >As for lisp itself, just from the name, what does defun or cadar >do? Anybody who teaches "cadar" and friends in a beginning course should be deprived of tenure, or at least shot. What do FUNCTION, PROCEDURE and BEGIN do? Yeah, what do they do? How about READLN? I've seen 2 + 2 since >the first days of school. Why (+ 2 2)? Learning a new vocabulary, >a new equation syntax is not what you want to be teaching when you >have so much else to teach. > You know what threw me in my first computer language course? This LET X = X + 1 thing is one of them. That makes absolutely no sense. X = X + 1 is true iff X is infinite. It took me a while to get the hang of the LET statement. Every computer language is going to have odd stuff in it, and that odd stuff is going to hit the student right away. Variables in programming languages have surprisingly little in common with mathematical variables; they're much more similar to mathematical sequences. Most languages recommended for beginners require the declaration of variables and types. Most of them require some sort of magic invocations that are not going to be understood until later. Most of them have, for example, much more intrusive syntax than Common Lisp. Learning to program is difficult, and learning the meanings of a few words is unlikely to be much of an obstacle. -- David H. Thornley | If you want my opinion, ask. david@thornley.net | If you don't, flee. http://www.thornley.net/~thornley/david/ | O-