Newsgroups: comp.lang.lisp,comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!nntp.sei.cmu.edu!news.cis.ohio-state.edu!magnus.acs.ohio-state.edu!math.ohio-state.edu!cs.utexas.edu!howland.erols.net!newsxfer.itd.umich.edu!uunet!in3.uu.net!uucp3.uu.net!world!dp
From: dp@world.std.com (Jeff DelPapa)
Subject: Re: Why lisp failed in the marketplace
Message-ID: <E6716n.Iwx@world.std.com>
Organization: Chaos and Confusion
References: <01bc13dc$cfaa2b20$0f02000a@gjchome.nis.newscorp.com> <330512CF.6458@acm.org> <E5tx82.M8E@undergrad.math.uwaterloo.ca>
Date: Wed, 26 Feb 1997 04:44:47 GMT
Lines: 74
Xref: glinda.oz.cs.cmu.edu comp.lang.lisp:25740 comp.lang.scheme:18926

In article <E5tx82.M8E@undergrad.math.uwaterloo.ca>,
Paul Prescod <papresco@csclub.uwaterloo.ca> wrote:
>In article <330512CF.6458@acm.org>, Sin-Yaw Wang  <sinyaw@acm.org> wrote:
>>George J. Carrette wrote:
>>> 
>>> There were toy implementation of C available and that didn't seem to hurt
>>> C.
>>> So what really happened with LISP?
>>
>>I guess this serves to answer historical interest.  Few people really
>>care about this anymore.
>>
>>I think fundamentally, Lisp syntax is not natural for human being.  It
>>is elegant for computer or software to process, but not for real
>>people.  From grade school, you are taught 10 = 8 + 2, not 10 = (+ 8
>>2).  From high school, you learn how to prove mathematical theorems
>>procedually.
<snip>

>>Basically, a procedural language is more "natural" than a symbolic one.
>>When I taught Scheme in school, it takes a good 2 weeks just to get the
>>recursive part into their heads.
>>
>>If it is less natural, it is less productive, statistically speaking. 
>
>Mathematics is not natural at all. How long does it take to teach
>it? Should we quit doing so?
>
>I think that recursion and computer programming can be taught right
>alongside traditional math from grade 1 up. When you are learning order
>of operations you should be able to type in the expressions and see
>how the computer interprets them. When you are exploring functions,
>you should be able to write functions, using a syntax similar to that
>on the blackboard (which is certainly NOT procedural!).
>

I have even seen this sort of thing done.  Take a lisp dialect with a
bit simpler syntax, LOGO (yup, logo. Anyone else use the MACLISP logo
interpreter?) and try teaching it to kids.  You will succeed.  They
will even write recursive programs (especially if they haven't already
learned basic -- and that is a direct observation (1)).  This includes
kids that haven't learned to read yet (2).

The folks who wrote the little lisper even proved that you can teach
lisp to computer illiterate MBA students (this predated the idea that
students might own a computer.  MBA's had to take a computing "survey"
course.  Usually the instructor tried to teach them Basic, and they
would try to hire one of the undergrads that worked in the computer
"advice" office to do the assignment for them)

<dp>

(1) Its 1973. Teach a course in elementary machine vision to high
school students that come into MIT on saturdays to take even more
classes.  Use the logo lab with its (at the time) nowhere else
simplified lisp.  Watch the students that learned basic go from single
long functions full of goto's and globals to dozens of short functions
that recursively parse complex input in 8 3 hour classes....  BTW: Car
and CDR aren't the problem.  >> and ++ and * aren't natural
either. Logo had first and butfirst instead of car and cdr.  It also
accepted bf for the latter.  Nobody spelled it out when they learned
that.  (for that matter, I remember seeing basic programs that used ?
for print, as ms basic byte-coded print into ?, and would accept it as
an alternative).


(2) there was this box that a series of pictorial cards got plugged
into.  Push the button, and the onscreen turtle would execute one card
at a time. A led under each slot would show what step it got to.  They
did (to the suprise of the "sitters") manage to invent "self
modifying" code, swapping the already executed cards around for the
next pass.


