Newsgroups: comp.lang.logo
Path: news.media.mit.edu!bloom-beacon.mit.edu!gatech!news-feed-2.peachnet.edu!umn.edu!dialup-2-132.gw.umn.edu!user
From: moren004@maroon.tc.umn.edu (Andres F. Moreno)
Subject: Variables (was: Brian Harvey's text)
Message-ID: <moren004-191293204650@dialup-2-132.gw.umn.edu>
Followup-To: comp.lang.logo
Sender: news@news2.cis.umn.edu (Usenet News Administration)
Nntp-Posting-Host: dialup-2-132.gw.umn.edu
Organization: University of Minnesota
Date: Mon, 20 Dec 1993 02:46:50 GMT
Lines: 38

This thread has been discussing something which all of us know at heart:
programming is a non-trivial proposition. Rehashing prehistoric lore,
people sincerely thought programmers would disappear with the invention of
FORTRAN!

I do agree with larry that a conceptual framework is essential. The people
who think usually do best at formal tasks like programming. Something as
simple as the notion of a variable has to be understood clearly. Because of
the pervasive effects of Von Neumann architectures, teachers usually talk
about variables in terms of memory cells holding a number or a letter (the
value of the variable).

Why not think of variables as a pair (name, value) with the property that
one can access the value of the variable by, say, placing a ":" as a
prefix? This takes all the mystery out of the MAKE statement! [I know that
a sizable group of people in the AI comunity already teach this way, but
having been around the block, I know that many teachers still cling to
EXTERNAL constraints, such as the architecture of the machine their
programs happen to be running on].

Now, armed with the concept of a variable, one can proceed to simulate Von
Neumann and *Non-von Neumann* architectures! This is what LOGO is all
about! Giving people the expressive power to explore complicated things!

For a non-trivial example, check out the Scheme book by Abelson and
Sussman, _Structure_and_Interpretation_of_Computer_Programs, p. 83. This
gives you a way to implement car and cons (list building operations)
without any notion of a memory cell!

My warmest regards to teachers, who have to do 101 things. Teaching
computer programming is perhaps the most difficult of the 101.

-- 
Andres F. Moreno                       --Don't call us, we'll call you!!!
Department of Spanish and Portuguese
University of Minnesota, Mpls  55455
email address: moren004@maroon.tc.umn.edu
**************************************************************************

