Computer History  

Custom Search

Computer History
Tracing the History of the Computer - LOGO Programming Language

 

The Logo programming language is an imperative programming language. It is an adaptation by Wally Feurzeig and Seymour Papert of the Lisp programming language that is easier to read; it has been called Lisp without the parentheses. Today, it is known mainly for its "turtle graphics", but it also has significant facilities for handling lists, files, and I/O. Logo can be used to teach most computer science concepts, as UC Berkeley Professor Brian Harvey does in his "Computer Science Logo Style" trilogy. It can also be used to prepare "microworlds" for students to investigate.

History of Logo

Logo was created in 1966 at BBN, a Cambridge research firm, by Wally Feurzeig and Seymour Papert. Its intellectual roots are in artificial intelligence, mathematical logic and developmental psychology. The first four years of Logo research, development and teaching work was done at BBN. The first implementation was written in LISP on a PDP-1. Its name was "ghost". The goal was basic problem solving; the turtle gave immediate (non-written) feedback so bugs could be spotted. Lots of other effects have been proposed as causes. Power was not a significant factor in the design. However, ease of use for non-typists who had to use a Teletype, was a big consideration, plus informative error comments.

The turtle was a rather late innovation. Logo is not too much different now from the basic concepts before the first turtle. The first turtle was a radio controlled (wireless) floor roamer named "Irving". Irving had touch sensors and could do forward, back, right, left (rotations), and ding (Irving had a bell). The earliest school users were at Muzzy Jr High, Lexington MA.

Implementations of Logo

There are over 130 implementations of Logo, each of which has its own strengths. A popular cross-platform implementation is UCBLogo. MSWLogo, its freeware Windows derivative, is commonly used in schools in the United Kingdom. Comenius Logo is available in Dutch, German, Czech etc. SOLI Logo was a French version widely used in primary schools in the 1980s. In 1984, ExperLogo for the Macintosh added turtles in 3D and on the surface of spheres. It was also compiled instead of interpreted and hence was very fast. Lego/Logo was a system for controlling the turtle or Lego motors and sensors, and was often used in the classroom in the mid 90's. ARLOGO is an Arabic Port of UCBLOGO, considered the first open-source programming language in Arabic.

     

A modern derivative of Logo is a variation that allows thousands of "turtles", each moving independently. There are two popular implementations: MIT StarLogo and NetLogo. These derivatives allow for the exploration of emergent phenomena and come with many experiments in social studies, biology, physics, and many other sciences. Although the focus is on the interactions of a large number of independent agents, these variations still capture the original flavor of Logo.

There is no single agreed-upon Logo language definition or standard, only a loose tradition. As a result, there are substantial differences between the many dialects of Logo that have evolved. The code examples shown below would work in many Logo dialects, but not all.

Logo programming

The idea is that a turtle with a pen strapped to it can be instructed to do simple things like move forward 100 spaces or turn around. From these building blocks you can build more complex shapes like squares, triangles, circles--using these to draw houses or sail boats.

The turtle moves with commands that are relative to its own position, "LEFT 90" meant rotate left by 90 degrees. A student could understand (and predict and reason about) the turtle's motion by imagining what they would do if they were the turtle. Papert called this "body syntonic" reasoning.

The idea of turtle graphics is also useful for example in Lindenmayer system for generating fractals.

Turtle programming

The following is an example of Turtle code. While seemingly very simple, turtles can be given groups of instructions, essentially creating libraries of more complex commands. In practice short forms are used. For example, "LEFT 90" is written "LT 90". Key words are usually written in upper case for beginners, but more advanced texts use lower case.

FORWARD 100
LEFT 90
FORWARD 100
LEFT 90
FORWARD 100
LEFT 90
FORWARD 100
LEFT 90

The language

Logo is an interpreted language. It is not case dependent, but retains the case used for formatting. It is written in lines. It is a compromise between a sequential programming language with block structures, and a functional programming language. There is no 'standard' LOGO, but UCBLogo is highly regarded. It is a teaching language but its list handling facilities make it remarkably useful for producing useful scripts.

Resources

History of Programming Languages

Programming Timeline

Source: http://en.wikipedia.org/wiki/Logo_programming_language

Copyright Notice for Computer Nostalgia

 Disclaimers 

  Privacy Policy 

 GNU License