Forty Years of LOGO
SoyChemist writes "Forty years ago, LOGO, a derivative of LISP, was born. Several years later, it became the cornerstone of educational software that simultaneously taught geometry and how to think like a coder. With a plethora of high-end educational software packages to choose from, each with flashy multimedia and trademarked characters, parents and teachers may find the humble turtle a bit outdated. Thankfully, several LOGO programs are available for free through a variety of websites, but perhaps 3D programming environments like Alice will be the wave of the future."
I, for one, welcome our 40-year-old turtle overlords.
My introduction to programming was BASIC, back in 1980. By the time I encountered LOGO in a high school computer science class, it was a fun toy for about an hour, but then got old. Thinking back to that, I could conclude that LOGO is sort of lame, but for little kids who don't have the typing and language skills of middle school or high school students, I guess it's a better entry into programming than BASIC.
They're supposed to have LOGO on the OLPC XO laptop, and if I do that "buy one, donate one" thing, it will be interesting to see at which age my kid (who is now 2.5 years old) starts taking an interest in LOGO.
Start a happiness pandemic
I learned to program using LOGO on a Commodore Vic-20 in 1980 or 81. It was an astounding program because it enabled a very high level of functionality without needed knowledge of a lot of technical details of the machine. My school district (Portland, OR) had a Talented and Gifted program that included a computer course, and LOGO was it. We were able to draw polygons and devise simple games (somewhat more rudimentary than an Atari 2600). Based on this experience, my brother and I got a Commodore 64 a year or so later, and I was disappointed in BASIC. Sure, it was structured more like a "real" computer language, but it wasn't possible to do anything even remotely sophisticated in Commodore Basic graphics-wise without resorting to quasi-assembly PEEKs and POKEs. To get around this, my brother tried to learn 6502 assembly, and burned out on computers (he's now a lawyer.. poor man). I was lucky and discovered Pascal...
I don't think I would have a career in the technology industry if it were not for LOGO (I'm an analog IC designer). A previous comment said Python is better for his child. I would agree. In fact, I would have done pretty much anything for Python and Pygame when I was a small child. However, for the late 70s and early 80s, LOGO was the educational language to beat, and the only way for a child to really feel the machine the way a programmer does, and not as a passive game player.
In the 80s Logo was about as good as it gets to teach kids some simple computer programming principals. For a lot of kids, Logo was enough to get them to understand that they liked computers. At least back in the day we were trying to teach people how to really use a computer instead of teaching how to talk to Mr. Paperclip into doing your presentation or essay. For teaching kids to program nowdays, Squeek is fairly interesting and there are some neat possibilities with tools like Flash. What matters is showing kids how we program computers to do things step by step and use simple logic to make decisions about the next step. Squeek and Flash let kids do a lot more visual stuff and make it easy to learn how things work.
-- $G
Personally, I never learned LOGO in school, I used it at my first programming job!
I was 17 years old and already know how to program in Z80 assembler and MBasic (Ah, the heady CP/M days!).
Imagine my surprise when I got an apprenticeship at a place where they did accounting - in LOGO!
Not just any LOGO either it was M.I.T. Experimental LOGO #43 if I remember correctly, running on a microcomputer with 12 terminals connected to it! And there was NO TURTLE in this LOGO, only the list operators, logic and math primitives!
This company was doing the monthly accounting of about 40 or so client firms and the whole system was written in LOGO.
I remember thinking "Why the heck are they using a kid language to do all this" at first, but under the teaching of my mentor, I learned recursion and abstraction to a level I had never considered before.
I mean instead of tripping all over the mundane aspects of implementation that you would bump up against in assembler or BASIC, here was a language that was so high-level that you really could concentrate totally on the abstraction and algorithm of solving the problem without getting tangled in a lot of what seemed to be more real-world problems (memory allocation, variable types, string/array manipulation, etc...), this language forced you to think in really high-level ways about the problems you were trying to solve.
It was a year of epiphany-after-epiphany for me and it did more to form me than any of the other languages I've ever touched. It caused me to rethink my approach to all other languages and tools and I feel tremendously fortunate that I was in the right place, at the right time to experience it all.
Sadly, that company's history ended badly; one of the partners was billing the clients directly and ran off with the money, so the company went under and I never did find another company using LOGO again.
Too bad reality and theory almost never line up...
That has been my exact view on Fisher Price toys as well. Take the Fisher Price barn that says moo when you open the door. Have you ever seen a barn door to do this? Playing with this a a child I never learned the subtleties of farming, and was never able to connect the cow to the door. On top of this, everything was much smaller than in real life. I recall visiting a real farm some years later and being overwhelmed by its enormous size compared to the one I kept in my toy box at home. I mean, it was totally irrelevant.