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.
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.
You should check out Scratch too. Kids (and some adults) love it. http://scratch.mit.edu/
For young kids (elementary age) I wouldn’t recommend Processing.
For young kids I’d recommend Scratch from MIT.
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.
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]
[small medium large]
[vanilla “ultra chocolate” lychee “rum raisin” ginger]
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.
I never got to play with LOGO.
Maybe I can play with the classes in System.Xml to make SVG files.