A Monthly Column
Friends Of The Turtle
David D. Thornburg
LOGO Is Not Just Child's Play
Revolutionary periods are more than a time of change – they are often a time of great confusion as well. Those of us who are excited about the emergence of computer languages tailored to people's needs may be less sensitive than we should be to the way our message is being received.
In the case of LOGO and Atari PILOT, this has had unfortunate consequences. Several readers have written to suggest that LOGO and Atari PILOT are "kid's" languages and are thus not worthy of serious attention. They cite as evidence Papert's Mindstorms, a book on LOGO and kids; my books, Picture This!, Picture This Too!, and Every Kid's First Book of Robots and Computers; various magazine articles; the very existence of the Young People's LOGO Association, etc.
Admittedly, much of the public enthusiasm for these languages has been devoted to the fact that, like English, PILOT and LOGO are effective communication tools for children. Let us remember, however, that while English is the language for "Baa, Baa, Black Sheep," it is also the language for James Joyce's Ulysses – the latter is definitely not for children.
The key to LOGO's power is twofold. First, much of it is very easy to learn, and first-time users find that within a short time they are able to do "interesting" things. (To me, the generation of logarithmic spirals is interesting, but the repeated printing of my name on the screen is not. BASIC has an easy time with the latter [as does LOGO], and has a horrible time with the former.) Second, LOGO is extensible by the user. This capability of LOGO, while of utility to youngsters, makes it a tremendous problem-solving language for users of any age. LOGO users readily develop skills in top-down programming and in the creation of building-block procedures that not only impart a logical order to programs, but also make them much easier to debug. When one adds to this such features as recursion, local variables, and list manipulation, it is obvious that LOGO is far more than just a kid's language. In fact, it is a far more useful language for many applications than many of the popular computer languages in use today.
Keep in mind that LOGO was a product of the artificial intelligence community. I assure you that something that is just a kid's language does not hold the interest of the MIT computer science department for over a decade.
Is turtle geometry easy to use? Of course it is. But, do LOGO's detractors know that finite differential geometry (turtle geometry's formal name) is a major tool for exploring some aspects of pure mathematics that have evaded analysis by traditional analytic geometry?
Those who think that LOGO is only for kids should read Turtle Geometry by Abelson and diSessa. If their treatment of relativity theory is too tame for your kids, try reading Buckminster Fuller's Synergetics (Fuller independent developed finite differential geometry and used it to make some very interesting discoveries). My Stanford graduate students get slowed down by that book, but perhaps LOGO's detractors will find it trivial reading. Fractal geometry – the subject of this column a few months back – lay virtually unexplored for more than 50 years because mathematicians lacked the tools to do the job.
This July it was my pleasure to give a lecture on the consequences of dimensionality on the conservation rules of geometry. Apple LOGO was my principal tool.
The reason I even care about this argument is that it has the promise of becoming a self-fulfilling prophecy. I have heard Apple dealers tell customers that LOGO is a kid's language. I have seen languages like Radio Shack Color LOGO that are excellent turtle graphics environments, but lack the list manipulation and other features that characterize a full LOGO implementation. In short, I have seen much confusion in the marketplace regarding LOGO and Atari PILOT.
So, please, know that languages like LOGO are marvelous tools for children – and that they are marvelous tools for almost everyone else as well. The power of a good tool is restricted only by the capabilities of its user. LOGO is a good tool.
Those Logophobes who feel like giving the language a second chance should read Harold Abelson's new book from Byte/McGraw Hill. The book is published in two editions, Apple Logo (for the LCSI LOGO sold by Apple), and Logo for the Apple II (for the MIT LOGO sold by Terrapin and Krell).
This book is excellent for all LOGO users simply because it is far more than a reference work. Abelson has managed to combine descriptions of LOGO primitives with projects that deepen the user's familiarity with the language. The first 60 pages are devoted to turtle graphics, and the remaining 150 concentrate on the other aspects of LOGO that make it a complete computer language. Thus, in addition to turtle graphics, readers become well versed in list manipulation, recursion, hierarchical structures, etc. While it is fair to say that no prior experience in programming is required to read this book, those of you who are learning LOGO as a replacement of or supplement to another language will not find Abelson's book excessively wordy. The text follows several presentation styles: reference material, sample procedures, and projects for the user to solve on his or her own. Except for elementary grade school children, I can't think of any LOGO users who would not benefit from this book.
How To Grapple With A Turtle
In my last column I showed Apple LOGO users how to print screen images on the Silentype printer. The Silentype has many features (low cost, quiet operation, etc.), but it doesn't produce pictures with very high contrast. For high contrast one must consider using a dot matrix impact printer.
Because I need high quality screen images for various reasons, I invested in the Grappler printer interface card (from Orange Micro) for use with my Epson MX-100 printer. I have not done an exhaustive search of the printer interfaces for the Apple II, but I can't think of much I would want to do that can't be done with the Grappler.
For example, this printer interface allows you to print a screen image at double size (rotated by 90 degrees) so it fits perfectly on an 8.5 by 11 sheet of paper. I enjoy the results of this print mode so much that I haven't explored any of the others.
To generate such prints for the Epson printer (there are Grapplers for other graphics printers as well), you should enter
before drawing any pictures. This compensates for the dot aspect ratio of the Epson printer. If you are using another printer (or another printing mode), you may have to experiment by drawing squares with various settings of SETSCRUNCH (or .ASPECT for those of you with MIT LOGO) until you get a picture that is perfectly square. The following procedure is all that is needed to generate a full-page image of your graphics screen. This procedure is written in Apple LOGO and assumes that the Grappler card is plugged in slot 1 of the Apple:
TO PRINTPICT MAKE "CTRI CHAR 9 .PRINTER 1 PRINT WORD :CRI "GDR PRINT CHAR 12 .PRINTER 0 END
This procedure gets the printer's attention with the character ctrl-I (CHAR 9), followed by letters that set the various options. G indicates that we want a graphics image, D means it should be double size, and R means it should be rotated by 90 degrees. If you want to use the enhanced print mode of the Epson printer, add an E to the list, and you will get a much denser print (with a longer print time, of course).
That's all there is to it! The accompanying figures are taken from my next book, tentatively titled Discoveries of Beauty. (This book should appear from Addison-Wesley about January 1983.) Most of the illustrations for this book were generated with the procedure shown above. As you can see, the Grappler lets your Epson printer do a fine job printing pictures generated with LOGO on your Apple computer.