from hell to paradise ; ; ; was: [plt-scheme] Prereqs for robotic programming

From: hendrik at (hendrik at
Date: Tue Feb 17 21:38:59 EST 2009

On Tue, Feb 17, 2009 at 06:25:39PM -0500, Marco Morazan wrote:
> Seriously, what is painful about it? Is it painful not to have a
> mangled syntax? Is it painful to encourage the use of recursion?
> Really, c'mon! Is it painful for functions to be first-class? Is it
> painful not to encourage the use of sequencing and
> mutation/assignment?

This is not painful.  What's painful is to be prohibited from using 
mutation/assignment.  Schame doesn't prohibit this.  Some of the others 
do.  It's ideological extremism, and leads to elaborately complicated 
programs for simple stuff, like a queue.

> Is it painful not to have "for" and "while" as
> keywords? Is it painful not to think of state all the time? Is it
> painful not to have to manipulate pointers? Is it painful for the
> language to properly implement tail calls? Is referential transparency
> painful -- most of my students are shocked when I point out to them
> that in, say, Java (pick any language that encurages assignment) that
> f(x) == f(x) is not always true, which suggest huge gaps in their
> education when they learned Java --? Is having macros or continuations
> painful?

No, none of this is painful -- except for some kind of macros.  It's too 
easy to make unholy syntax mashups with them.  I admit that Scheme's 
macros are much better than C's.

-- hendrik

Posted on the users mailing list.