[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: peasant revolt against DrScheme!



> Date: Mon, 22 Jan 2001 16:42:22 -0600 (CST)
> X-Authentication-Warning: africa.cs.rice.edu: matthias set sender to matthias@africa.cs.rice.edu using -f
> From: Matthias Felleisen <matthias@cs.rice.edu>
> Cc: plt-scheme@fast.cs.utah.edu
> Reply-To: matthias@rice.edu
> 
> 
> Yes, that's a well-known reaction. 
> 
> The instructor must clarify a few things from the beginning. 
> 
> 1. Good programming is as difficult as good pharmacy. 
> 
>    Do you want a one-semester pharmacy student to fill your prescription? 

In fact, I'd probably prefer that to having a one-semester student write my
programs :-)

> 2. Programming languages change faster than some students' t-shirts. PL
>    fashion certainly does. Therefore it is important to have a good
>    foundation on to which one can build. 
> 
>    Do you want a job at the cutting edge or do you want to maintain legacy
>    C code? 

True, but I think you'd have a hard time convincing most people that scheme
is cutting-edge in anything other than conceptual clarity (which is not
high on most people's wish lists, although it matters a lot to almost
everyone on this list including me).  I also think the point about many
students being partially familiar with C is a big point in its perceived
favor as well.

Unfortunately, by the time students learn that their foundations are
inadequate to really understand programming (which may take five years or
may never happen) they've already invested so much into learning C/C++ that
learning a new language is much harder.  This is a difficult message to
communicate: "You'll need this deep understanding later on -- trust me!"
It's also why people are always going ga-ga over some new language that has
some minor feature that already exists or can easily be added to scheme
(e.g. python with lambdas or list comprehensions).

I've also noticed that people who learn FORTRAN as their first language
(especially physicists) seem to have an especially hard time breaking out
of the mental rut it produces, which is why I say that FORTRAN causes brain
damage :-)  BTW FORTRAN was *my* first computer language too.

> 3. Teaching a good foundation `a la TeachScheme!/HtDP doesn't have to
>    conflict with showing students how easy it is to maintain CGI scripts
>    and Web pages and who knows what with Scheme. 
> 
>    Our book site, htdp.org, will soon come with extended exercises that
>    supplement HtDP just that way.

Great!  This will do a lot to change peoples' perceptions.  Scheme's
reputation as an academic language reminds me of all the people who think
lisp is inherently slow because of a bad first impression using a primitive
lisp interpreter in a course; most of these people have no idea that lisp
can even be compiled or that types can be declared.  One C++-oriented book
I bought recently (Generative Programming by Krzysztof Czarnecki and Ulrich
Eisenecker; very cool book BTW) went so far to claim that lists were the
only data type in lisp!

>
> Don't despair. But having said that, CalTech students are so smart, they
> will mess up everything. :-)
> 
> -- Matthias
> 

Nobody knows that better than me ;-)  If the CS professors here REALLY
wanted to sell scheme, they'd emphasize how macho it is and give
brain-twisting assignments using continuations for *everything* :-)

Mike

--------------------------------------------------------------
Mike Vanier	mvanier@bbb.caltech.edu
Department of Computation and Neural Systems, Caltech 216-76
GNU/Linux: We can't lose; we're on a mission from God.