I was forced to learn logo in school as part of our syllabus. i always thought it was for a joke like most of what we were taught. good to know it was of any use at all.
It may be primitiveā¦ but it remains the only language Iāve been able to teach a four-year-old to program in. (Said four-year-old - who attended an elementary school I worked in during my mis-spent youth, was exceptionally advanced at maths - he probably has a PhD now! Nevertheless, he didnāt āgetā BASIC at the time, so I tried Logo, and he was sending the turtle off by itself in minutes!)
That LOGO is a form of Lisp seems to be one of those well-kept secrets.
Itās something I stumbled across when doing some of the code examples from Godel, Escher, Bach with the LOGO interpreter that came with the Amstrad-PC (c.1985), and then later discovering that they were actually Lisp.
Back then it was being touted as the language for learning with; and since, it has managed to rise without trace.
@Simon Johnson
Your cost benefit analysis breaks down quickly after you consider the fact that most programs are run N number of times, not once. Also most programs are used by PEOPLE, who are in turn being paid. The slower the program, the more time it takes those PEOPLE to do their work, and hence, the more money it costs.
Just today I was trying to decide if I would spend time learning Processing or NodeBox. By the way, _why is working on something similar called Shoes.
I think that visualizing data with processing is becoming a mainstream industry. Thatās why I invest so much into NDepend (http://www.NDepend.com), which basically lets users visualizing data about the structure of a code base, which is complex data.
I donāt know about Logo but yet, with GDI you can do a lot. Not to mention the incredible possibilities of WPF.
For young kids (elementary age) I wouldnāt recommend Processing.
For young kids Iād recommend Scratch from MIT.
For older kids, there are Netlogo, Starlogo, Alice, Javascript, Processing, Visual Basic .NET (the last of which has some surprisingly good videos and tutorials for absolute beginners).
Bungeelabs and others are also starting to develop web-based IDEs, although not with beginners in mind.
Sometimes itās just the right tool for the job.
I have a few algorithm-derived drawings to create for a project. I had considered a programmable CAD package, such as the freeware AllyCad http://www.allycad.com/. Itās nice, but a lot to learn.
I considered shelling out cash for Visio and doing VBA.
I looked at SVG a while back, but it seemed to be a pain in the neck. Then I saw this blog entry. Wow, I could have used Logo.
Unfortunately, last summer, cleaning out the garage, I threw out my unused 20+ year old 5.25 floppy with IBM Logo built on the UCSD P-system. What would I run it on anyway? The overclocked (8 MHz) PCAT I didnāt throw out?
Friday I downloaded MSWLogo. http://www.softronix.com/logo.html Today, 13 functions later, my drawings are done, saved as .gifās and printed on my laser printer.
I may not like the syntax and punctuation, but it sure did the job.
Dakra
Iāve always thought the Rebol language is a natural successor to Logo. http://www.rebol.com
Rebol is a friendly cross-breed of Scheme, Logo and Forth. It is cross-platform, very tiny, and has built-in networking protocols. The sample logo program you linked to would look like:
choices: func [menu sofar] [
if empty? menu [print reform [sofar] exit]
foreach item first menu [
choices next menu reduce [sofar item]
]
]
choices [
[small medium large]
[vanilla āultra chocolateā lychee ārum raisinā ginger]
[cone cup]
][]
Sorry to sound like an infomercial. I thought some might be interested.
I wish I could remember more details, but this topic brings back memories. Back in high school, there was some weird kid named Steve working furiously in a corner for months to get his grand AI program to work. He wrote the whole thing in Logo, which we all thought was madness, but it makes some sense in light of this comparison between Logo and Lisp. I had no idea that might actually have been a reasonable choice. We just thought it was more a matter of him being too afraid to write in a real language. (Our definition of a āreal languageā was probably Apple Pascal, Iām thinking.)
I remember him spending a long time on that project, and hitting a brick wall imposed by the limitations of the primitive Apple computers we had. I think the teacher wound up giving him the grade anyway, because the source looked plausible, even though it wouldnāt all fit into memory or whatever.
I used to think he was a hopeless dork, but now I wonder. I bet he managed to go a lot further in life than I have with that kind of vision.
I owe Steve some overdue respect.
OMG, never thought it is still alive! LOL, I used to play with this language when I was 10.
- Running away to download the Processing *
Logo played an important role in my past too.
I posted an reply in my blog: http://www.willianmitsuda.com/2008/01/01/remembering-the-logo-language/
Thereās some pretty impressive stuff being done with Processing, especially with its support for OpenGL. Thereās some beautiful graphical work being done by Robert Hodgin over here: http://flight404.com/blog/
There is a version of Logo for Palm OS and with a bit of messing around (and some extra software) you can even get it to run on modern Pocket PCs. There is a post about it here:
Iād love to hear/read your follow-up comments when youāve read āProcessingā and āVisualizing Dataāā¦ or will you be posting them as Amazon reviews?
And Iām sure weād all love to see any visualizations you do.
On the note of data visualisation, you might be interested in this āalternativeā (in a way) to Processing that does some seriously cool stuff and sports a visual/modular coding interface:
Unfortunately requires DirectX. vvvv is the only reason I have a windows box.
Very cool.
I never got to play with LOGO.
Maybe I can play with the classes in System.Xml to make SVG files.