[plt-scheme] Teaching Scheme

From: Shriram Krishnamurthi (sk at cs.brown.edu)
Date: Mon May 3 10:31:33 EDT 2010

Let me caricature (a part of) this exchange:

Samuel: ... interpreted vs compiled ...

Shriram: nonsensical!

Samuel: well, most X's have interpreters, most Y's have compilers, so
it's reasonable to call X interpreted and Y compiled

Doug: convention is good, and anyway some languages are more static
and others are more dynamic, so we can use "interpreted" and
"compiled" as proxies

Samuel: yes, the term doesn't quite make sense (think about JITs), but
also, what Doug said!

To which I offer several responses:

1. Notice how you (Samuel) subtly shifted your argument.

2. If you want to use "interpreted" and "compiled" as aliases for
"dynamic" and "static", why not just use "dynamic" and "static"
instead, instead of abusing terminology?  Indeed, if you are trying to
create an EDUCATIONAL site, why not EDUCATE people that their
terminology is wrong, rater than propagate their mistakes?

3. These terms are not value-neutral.  People hear "compiled" and
think "fast"; they hear "interpreted" and think "slow".  (Admit it, so
do you.)  Of course, this might have nothing to do with the reality of
implementations.  But it damns languages prematurely.

4. Sometimes, these terms are references not to the implementation
strategy but to the interaction interface: "interpreted" means "offers
a REPL" while "compiled" means "works off a command-line".  But in
fact that is another bogus alias.  Furthermore, it does a great
disservice to compiler writers for languages like Scheme, who've taken
the trouble to write actual compilers while providing the *interface*
of an "interpreter".  Why don't you give them credit for their work?

Personally, I learned Scheme using a compiler and C using an
interpreter (really), so these terms have always struck me as bogus.

As for paradigms, I've made my point in my document.  Glad you enjoyed
reading it.  If you insist on using absurd terminology, I won't get in
your way.

As for the broader issues with your site, Neil and Jos have made the
relevant points admirably.


Posted on the users mailing list.