[plt-scheme] Re: The Philosophy of DrScheme

From: Benjamin L.Russell (DekuDekuplex at Yahoo.com)
Date: Mon Nov 24 23:50:15 EST 2008

On Fri, 21 Nov 2008 18:16:24 -0500, Prabhakar Ragde
<plragde at uwaterloo.ca> wrote:

>Grant wrote:
>
>> I'm not sure why DrScheme is so under-appreciated. Perhaps people are
>> not familiar. Is there some philosophy about how it works that users
>> would find interesting?
>
>You know the saying about how the measure of a society is how it treats 
>its weakest members? (It seems to have been said by just about 
>everybody, so you've probably heard it, maybe even said it yourself.)
>
>To this external observer, it appears that the philosophy behind 
>DrScheme is to focus on how it treats its weakest users... while not 
>neglecting its strongest users. This is pretty rare among software 
>developers, if you ask me.

Perhaps at least part of the philosophy for DrScheme parallels the
philosophy behind HtDP, outlined in the paper "The Structure and
Interpretation of the Computer Science Curriculum" (see
http://www.ccs.neu.edu/scheme/pubs/jfp2004-fffk.pdf).

Specifically (p. 8: Section 3.3: Programming Environments):

>The choice of language for a first-year course isn’t just about the linguistics; it
>must also take into account the programming environment. After all, developing
>and running a program means more than just writing correct code. It requires
>support for editing; compiling and running programs; understanding how a program
>is evaluated; and so on.
>  Like the language, we believe that the programming environment for the first
>course should be a lightweight, easy-to-use tool. That is, it should provide just
>enough to edit and execute functions and programs, plus some tools for under-
>standing fundamental concepts, e.g., lexical scope and program reduction. Every-
>thing else should be hidden from the student.
>  We believe that the lack of such a programming environment hurt the SICP
>approach of teaching and the functional community in general. For that reason, we
>have produced a programming environment that supports teaching program design
>principles with Scheme (Findler et al., 2002). Others have had similar insights and
>have produced alternative environments independently (Schemer’s Inc., 1991).

>Grant wrote:
>
>And at least part of the disdain some feel for DrScheme is related to it 
>not pandering excessively to the strong to the extent of driving away 
>the weak. --PR

Perhaps, but some also feel respect for DrScheme for not pandering
excessively to this trend.  It is precisely this driving away of the
weak which causes some to write such essays as "Why Johnny Can't Code"
(see http://www.salon.com/tech/feature/2006/09/14/basic/index.html).

-- Benjamin L. Russell



Posted on the users mailing list.