LOGO

From OLPC
Revision as of 15:43, 2 June 2006 by 200.125.132.218 (talk)
Jump to navigation Jump to search

A powerful programming language built to be easy for children to use. LOGO is essentially a dialect of LISP without the parentheses that traditional LISP requires. It has been implemented in many versions including Brian Harvey's UCBLogo and the multimedia authoring toolkit called Hyperstudio.

There are lessons to be learned in all of these systems if OLPC application developers wish to stand on the shoulders of giants rather than reinvent the wheel over and over again.

Variations

UCBLogo
http://www.cs.berkeley.edu/~bh/logo.html

Needs a better GUI (Brian Harvey is working on one, but he is working on it alone and as a hobby). It can be translated (without recompilation) to languages that have their character sets in 1 byte encodings. It was been translated to Spanish (LogoES)

aUCBLogo
http://www.physik.uni-augsburg.de/~micheler/

Needs testing, packaging and materials (maybe it's still too beta)

MSWLogo
http://www.softronix.com/logo.html

Needs a migration to Linux. Has lots of learning material on the Internet

FMSLogo
http://sourceforge.net/projects/fmslogo

Needs a migration to Linux

PyLogo
http://pylogo.org/PyLogo.html

Works under Python (which, it seems, will be a given in the laptop). Is this enough Logo?

Scratch
http://llk.media.mit.edu/projects/summaries/scratch.shtml

Runs under Squeak (which is bulky?). Is this enough Logo?

NetLogo
http://ccl.northwestern.edu/netlogo/

Freeware, but not open source. Requires Java. Actively developed; high quality.

LogoWiki
http://www.logowiki.net

Recently developed by Alan Kay and friends. Built on top of JavaScript.

Necessary features

  • Multilingual support
  • Trigonometric functions, sqrt, exp, power, log, ln (to be able to draw at least figure 24 accurately)

Requested Features

  • Optional inputs, like UCBLogo
  • ColorUnder (or "Pixel")
  • SetPenColor


Points

Both NetLogo and StarLogo need Java, no? So Logo is still vaporware for our practical purposes.

NOTE that any and all software is grist for the mill. If NetLogo would be an asset to the OLPC, then we should try to set up a project to write a subset of NetLogo in Python which is supported by OLPC.