Computers and Society
David D. Thornburg, Associate Editor
Whatever Happened To Logo?
Five years ago I predicted the demise of BASIC and its eventual displacement by Logo as a programming language for neophytes. In the intervening years I have spoken in defense of Logo to thousands of school teachers interested in educational computing, written numerous articles about Logo (including a monthly column that appeared in COMPUTE!), written seven books on the topic, and used Logo as my own programming language of choice and as a language for a successful course for graduate students in design.
As I look back on the past five years, I see that my own vision was clouded by my enthusiasm and that what I saw was largely a dream, not an accurate reflection of the world of educational computing. BASIC, for all its warts (and it has plenty), is as firmly entrenched as the QWERTY keyboard. Far from being dead, it is as popular as ever. Its original developers have even breathed respectability into BASIC by providing it with features found in other programming languages.
Logo burst into public view with a one-two punch that seemed to gather momentum among computer-using educators who saw the computer as a tool for developing a new curriculum in problem solving. Based on the notion that children learn best by discovery, Logo was seen by its creator, Seymour Papert, as a language that children could use to make discoveries about mathematics. His views, developed over years of study and research at MIT and elsewhere, were published in the book Mindstornts— Children, Computers, and Powerful Ideas (Basic Books, 1980). Shortly after his book appeared, versions of Logo were developed for just about every computer to come along.
Logo was presented as more than a programming language; it was inextricably linked to an educational philosophy—a philosophy that placed the child in an active role in the learning process. However wonderful Papert's ideas may be, many of them run counter to education as it is practiced in this country. Educational reform is a lengthy process and, while the philosophy associated with Logo points in a direction that appeals to some of us, it apparently lacks the "critical mass" of a Sputnik needed to shift our educational system.
LISP For Mortals
Logo is based on the artificial intelligence programming language, LISP. Like LISP, Logo supports symbolic (as opposed to purely numerical) computation. It was Logo's ability to support the creation of programs that touched the reaches of modern computer science—not its philosophical underpinnings—that attracted me to it in the first place.
But, because Logo was treated by many as a geometry language for kids that would let them create pretty pictures, the remainder of this language lay hidden from view. Of the authors whose books are still in print, Brian Harvey and I are among the few who have explored the spectrum of Logo programming in any depth.
A problem encountered by many who try to use Logo as a programming language is that it supports powerful computational concepts (such as recursion) that are hard for neophytes to grasp. Most beginning Logo programmers quickly master the descriptive graphics programming aspects of the language and then give up when they encounter the more difficult domain of Logo's symbolic computation. For example, Logo makes little distinction between programs and data. This allows Logo programs to be written whose output is other Logo programs, but this requires some skill to master. Most teachers lack the time needed to learn the nongraphic aspects of Logo, and this has helped perpetuate the myth that Logo is a picture-drawing language only to be used by young children.
Slow And Big
Even those who have mastered "the rest of Logo" have found the going rough. Most interpreted versions of this language are slow and big. This has two consequences for those who use Logo on 64K- or 128K-based computers. First, Logo programs run much slower than their BASIC counterparts. Second, users can't write very large programs. These two defects, however, are the result of Logo's implementations, not defects in the language itself.
A few years ago, those of us who saw Logo as more than a playground for young minds started a campaign to encourage the development of a Logo compiler. A compiler solves both the speed and size problems at once. It is interesting to note that none of the Logo language vendors within geographic proximity of Papert's MIT responded to this challenge. Instead, the first commercial Logo compiler for a microcomputer was developed by Expertelligence in Santa Barbara, California. Recently, Coral, an East Coast company, announced a compiler-based Logo.
While these are steps in the right direction, Logo deserves to be widely used. And it will die unless its base is broadened.
David Thornburg is a regular contributor to this magazine and is the designer of CalliopeTM, a nonlinear idea processor for the Macintosh and Apple II series of computers. He can be reached in care of this magazine.