Newsgroups: comp.lang.misc,comp.lang.scheme,comp.lang.tcl,comp.lang.python
Path: cantaloupe.srv.cs.cmu.edu!nntp.club.cc.cmu.edu!hudson.lm.com!news.pop.psu.edu!news.cac.psu.edu!howland.reston.ans.net!spool.mu.edu!news.cs.indiana.edu!smiale@cs.indiana.edu
From: "Steven Miale" <smiale@cs.indiana.edu>
Subject: Re: What language would you use?
Message-ID: <1994Nov5.100029.6559@news.cs.indiana.edu>
Keywords: scheme tcl tk python language opinion
Organization: Computer Science, Indiana University
References: <39b7ha$j9v@zeno.nscf.org> <39bhda$cuf@agate.berkeley.edu> <39cian$28f@larry.rice.edu>
Date: Sat, 5 Nov 1994 10:00:24 -0500
Lines: 55
Xref: glinda.oz.cs.cmu.edu comp.lang.misc:18767 comp.lang.scheme:10955 comp.lang.tcl:21382 comp.lang.python:2363

In article <39cian$28f@larry.rice.edu>,
Shriram Krishnamurthi <shriram@asia.cs.rice.edu> wrote:
>josefd@albert.ssl.berkeley.edu (Josef Dalcolmo) writes:
>> I found pythons syntax so much clearer and easy to
>> read than Scheme. True Scheme is simple, but not easily readable.

It's not that hard to read once you get used to it, though this may take
some time. But I still think Python code tends to be easier to read, though.
It tends to be my language of choice for most projects.

>And also to get rid
>of obscure rules of precedence?

Rules of precendence aren't obscure at all. I'm an AI for a C/C++ course,
and it rarely becomes a problem, even for students with a weak understanding
of math. Plus, they don't have to learn a new notation. And in the worst
case, they can use explicit parens; even then, it is easier to understand
IMHO.

>The parens, which is likely what you're
>bothered by, cease to exist at some point.

They still exist to me; I hate trying to find the extra left/right paren in
a big piece of code. Of course, I can just pass a lambda to load and then
print out the last function it compiles, but this is a pain.

And I've seen people with years of Scheme programming under their belts sit
there and count parens to make sure they are balanced. Silly; this is the
'90s, not the '60s.

Python *never* has this problems, since all scoping is done with whitespace.

>hygenic macros (the *only* language that has these?)

So? I only used the 'record' macro, and something like that could probably
be whipped up in Python in no time.

>Of course, it's still *neat* that you can write a metacircular
>interpreter so easily (and elegantly).

But those students don't want to write a metacircular interpreter. I doubt
they know what one *is*. The project they were working on lends itself
better to a procedural language, and IMHO Python would be the best choice.

>And I'd much rather see students learn languages that are reasonably
>well-founded and that have been expounded on cleanly.  Scheme, anyone?

Python gives them a good foundation for programming, without having to
learn a completely foreign syntax. It gives many of the benefits of Scheme
(interpreted, not having to worry about types, etc.) with a clean, 
procedural syntax.

Steve
-- 
Steven Miale  <http://www.cs.indiana.edu/hyplan/smiale.html>
