Did We Keep Our Promises?
Enough about traditional languages. How about DrScheme? DrScheme
does indeed meet the requirements we listed earlier:
- Scheme has a simple, regular syntax
- DrScheme's Interactions window is interactive and encourages
experimentation; it saves students (and teachers!) the burden of
learning messy (and weak) i/o features
- When a program executes an erroneous operation, DrScheme
immediately halts execution, highlights the incorrect expression,
and prints an error message explaining what the error is
- DrScheme incorporates simple and powerful graphics features that
students can use within a few weeks of starting to program, and
which run on all platforms without change
- The DrScheme environment is designed for beginners: it presents
Scheme as a sequence of growing dialects where the smaller dialects
have fewer keywords and catch more of the typical errors made by
students; in contrast, a beginning programmer in C++ cannot use
new
as an identifier even though its context, objects,
will not be taught for many weeks (or semesters) to come
There are also many linguistic benefits to Scheme, including:
- Arithmetic doesn't behave ``funny'':
- It is predictable and familiar
- It has no unnatural restrictions
- Operations are checked before they execute
- Scheme does automatic memory management
All this results in many pedagogic benefits:
- Teachers cover more material; this is especially an issue for
teachers who have to cover the AP curriculum in a single year
- Students get more interesting exercises, because they are soon
using structures, lists, and graphics, which more closely correspond
to actual programs that they use
- Scheme prepares students for future advances like Java, which are
much closer to Scheme than to C++
- It empowers teachers and students through technology: the
programming language and environment are amongst the first, and most
important, technologies that a student of programming encounters,
and languages like Scheme and systems like DrScheme are just plain
better and more advanced
PLT /
scheme@cs.rice.edu
Last modified at 16:02:46 CST on Sunday, February 08, 1998