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-09 22:58:05 PST Path: newsfeed.google.com!sn-xit-03!supernews.com!cyclone-sjo1.usenetserver.com!news-out-sjo.usenetserver.com!e420r-sjo4.usenetserver.com!news-out.usenetserver.com!newshub2.rdc1.sfba.home.com!news.home.com!news1.rdc1.sfba.home.com.POSTED!not-for-mail From: markv@peewee.telescopemaking.org (Mark VandeWettering) 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> <9d6b6e$1bt$1@nh.pace.co.uk> <87snihxiwc.fsf@frown.here> <9dbi83$sji$1@nh.pace.co.uk> Message-ID: User-Agent: slrn/0.9.6.3 (FreeBSD) Date: Thu, 10 May 2001 05:53:01 GMT NNTP-Posting-Host: 24.7.86.254 X-Complaints-To: abuse@home.net X-Trace: news1.rdc1.sfba.home.com 989473981 24.7.86.254 (Wed, 09 May 2001 22:53:01 PDT) NNTP-Posting-Date: Wed, 09 May 2001 22:53:01 PDT Organization: Excite@Home - The Leader in Broadband http://home.com/faster Xref: newsfeed.google.com comp.lang.ada:7428 comp.lang.lisp:9897 comp.lang.smalltalk:9660 comp.lang.functional:5602 comp.lang.scheme:3752 comp.lang.perl:2757 Date: 2001-05-10T05:53:01+00:00 List-Id: Marin David Condic wrote: >First, let me point out that I have no objection to teaching anyone Lisp at >some later point in their CS education. I have nothing against Lisp, in this >sense. The reason I wouldn't teach it as a FIRST programming language should >be fairly obvious. It is complex and unlike the bulk of other programming >languages. Whatever one decides to teach as a FIRST language ought to be >simple, easily understood, easy to work with, representative of most >commonly used languages and reflective of well understood, sound programming >practices. Lisp tends to not fit this description well at all. > >If you are familiar with Lisp, try this: Write a small program to read in a >couple of numbers from a keyboard, do some math with them and print the >result to the screen. Now look at it. Could a neophite with literally *zero* >experience in programming computers read it and stand a chance of >understanding what it does or how it does it? Could a neophite duplicate it >easily or modify it to do something different? Is it intuitively obvious to >even the most casual observer how to make a similar program? > >That's why I wouldn't recommend Lisp as a first programming language in an >intro to CS course. > >Gee. I never thought I'd have to defend THAT statement! :-) Well, programming languages are likely to bring out enthusiasts (read "zealots") both for and against. I'll pretend for the moment that we were talking about Scheme, as that is my preferred variant. There are a number of features why I believe it to be an excellent choice for beginning novice programmers. 1) While some people do get mired in the whole paren thing, Scheme has a remarkably simple syntax, simpler than virtually any other programming language. The entire language report is reasonably small, even when including things like macros and the like. 2) Scheme supports a wide variety of programming styles: from procedural to functional to object oriented to logic programs. 3) Scheme is interactive, which encourages experimentation. 4) Scheme has good textbooks, including what I consider the best computer science textbook around: Structure and Interpretation of Computer Programs. 5) Scheme encourages thinking of programs as data. I could probably dig up some more reasons, but these I think are all quite compelling. I'm actually not very fond of untyped languages, but in most other respects I think it is an excellent choice, indeed, perhaps the best one among many possibilities. Mark > >MDC >-- >Marin David Condic >Senior Software Engineer >Pace Micro Technology Americas www.pacemicro.com >Enabling the digital revolution >e-Mail: marin.condic@pacemicro.com >Web: http://www.mcondic.com/ > > >"Friedrich Dominicus" wrote in message >news:87snihxiwc.fsf@frown.here... >> >> Why no Lisp? >> > > > -- /* __ __ __ ____ __*/float m,a,r,k,v;main(i){for(;r<4;r+=.1){for(a=0; /*| \/ |\ \ / /\ \ / /*/a<4;a+=.06){k=v=0;for(i=99;--i&&k*k+v*v<4;)m=k*k /*| |\/| | \ V / \ \/\/ / */-v*v+a-2,v=2*k*v+r-2,k=m;putchar("X =."[i&3]);} /*|_| |_ark\_/ande\_/\_/ettering */puts("");}}