[plt-scheme] The perfect teaching language--Is this too much to ask for?

From: Luciano Ramalho (ramalho at gmail.com)
Date: Sun Jun 14 13:06:43 EDT 2009

> Yes, [Python] syntax is more complicated than Scheme,

I am just learning Scheme and really enjoying it.

I've listened to Shriram's excellent talk "The Swine Before Perl" in
which he denies that Python's "Relatively main-stream syntax"  is an
advantage with the question "at what price?"

http://www.cs.brown.edu/~sk/Publications/Talks/SwineBeforePerl/

I understand the value of macros in Scheme, so yes, any language that
has a syntax that makes macros unworkable is paying a high price.

But there's no free lunch, right?

The price of parenthetical syntax is a violation of a basic principle
of usability stated by Donald Normal in his book "The Design of
Everyday Things": things that are similar should look similar, things
that are different should look different (I don't have the book with
me now, so this is not a verbatim quote).

If I see:

(x y z)

I have no idea how that will be evaluated, whether y or z will ever be
evaluated, and if so, in what order. I have to find out whether x is a
function or some other form, because the syntax gives me no clue.

So perhaps the syntax of Scheme is not just simple, but actually too
simple, when its regularity hides differences in the way different
forms are interpreted.

I have the highest respect for the professors in this list and their
work, so I am not trying to start a flamewar.

I'd just like to hear what you think of my claim that there is a price
to pay for parenthetical syntax, and that is price is not limited to
the overabundance of parenthesis.

Probably there have been worthwhile discussions of this in the past.
If so, please send me pointers.

Cheers,

Luciano


Posted on the users mailing list.