Why Scheme?
Matthias Felleisen
A first course on programming must teach principles that students can use
for many years to come. Given today's rapid pace of development, it is
nearly impossible to predict which programming language and which
programming paradigm will be dominant when your students enter the job
market. Hence, a first course should teach a language that supports the
teaching of principle and otherwise stays out of the way as much as
possible. The Rice Computer Science in Schools Project has therefore chosen
Scheme as the first programming language.
Scheme has three advantages over traditional languages:
- It has a small set of syntactic rules. That is, students can write
interesting programs with an extremely small subset of Scheme. The syntax
of that subset can be described with ten lines (of BNF).
- It is highly interactive. That is, students can develop
micro-components of programs in an interactive and playful manner. This
form of developments reduces the debugging time by an order of magnitude or
more.
- It is a good basis for several different programming paradigms,
especialling object-oriented design and thinking. That is, once students
understand programming à la Scheme, they will have no trouble
studying, learning, and using an object-oriented language like Java. In
contrast, imperative languages like Pascal or C++ with little or bad
support for classes and objects make it difficult for students to master a
different form of program design and thinking about programs.
While there are a number of languages that share these characteristics,
Scheme is by far the most widely used of those and most easily
supportable.
PLT /
scheme@cs.rice.edu
Last modified at Tuesday, 12-Oct-1999 11:14:20 CDT