Slashdot Mirror


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."

14 of 162 comments (clear)

  1. LOGO vs. BASIC by gbulmash · · Score: 4, Interesting

    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.

    1. Re:LOGO vs. BASIC by Scrameustache · · Score: 5, Insightful

      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. I started off on LOGO in elementary, then we had a bit of BASIC, I liked logo better : )

      It might not have a lot of power under the hood, but it really is a great way to lear about programming. You have your turtle, you tell it what you want it to do, it does it. It's a very straightforward way to understand what programming is all about. Basic has a lot of "go to" stuff that you need to learn first that is very abstract.
      But bossing a turtle around is a very intuitive thing for a kid to understand.
      --

      You can't take the sky from me...

    2. Re:LOGO vs. BASIC by Lisandro · · Score: 4, Informative

      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.

      Basic is a great learning language, but i can't really think of a better introduction to programming (and geometry!) than Logo. Kids who might have problems dealing with variables, conditionals and even print statements can grasp rather quickly the "move forward, turn, move forward" simplicity of Logo.

      I was taught Logo when i was about 10, and like you, i had already cutted my teeth with C64 basic. Still, it was a very fun language to use and i actually learned from it. Something as simple as drawing a n-side polygon involves understanding of angles, distances and basic programming skills.

    3. Re:LOGO vs. BASIC by lahvak · · Score: 4, Insightful

      It might not have a lot of power under the hood...

      Actually, LOGO has a lot of power under its hood, definitely more than BASIC. It seems that most people here don't realize that LOGO is a full featured dialect of LISP. Some things that are easily done in LOGO would be pretty hard in BASIC. I agree with the rest of your post, though.

      --
      AccountKiller
    4. Re:LOGO vs. BASIC by B1 · · Score: 5, Insightful

      There was actually quite a bit more to Logo than just the familiar turtle graphics. While I haven't played with Logo in a long time, I remember it was quite easy to write structured programs. You could define primitives (essentially subroutines), read/write files, handle I/O, etc. I think everything was in place to write some fairly sophisticated software without ever involving the turtle.

      IMHO the turtle is really more of the friendly face, to make Logo fun for beginners (e.g. look at the pretty designs you can draw, and look how easy it is to build more complex images out of very simple, reusable building blocks).

      At the time, BASIC made it very easy to write spaghetti code, especially with its use of line numbers rather than labels. The more GOTO and GOSUB statements you had, the harder it became to manage--changing line numbers could unleash a horde of broken GOTO statements.

      IMHO, I think Logo doesn't get enough credit for what it truly was.

    5. Re:LOGO vs. BASIC by xtracto · · Score: 5, Interesting

      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.

      My first contact with programming about around 1986 was with Logo. My parents subscribed me to a private computer course and for us the small kids (I was 5 years old!) the teacher used Logo, for older guys he used Basic and even COBOL and FORTRAN. But It was Logo what made me really *understand* computers in the sense of how the famous Hacker's Manifesto explains, it is a very interesting machine which *you* can manipulate to do EVERYTHING!

      However, when you are referring at LOGO in your comment you are surely referring to the turtle-guided drawing interpreter of the language, which yeah can not compare with what BASIC was at that time. However, there are *plenty* of interpreters and other programs that use Logo as its underlying language. Lots of them are actively used in research for agent-based modeling such as NetLogo, StarLogo, or about StarLogo TNG which tries to go a step further to teach the basic concepts of programming by using building blocks.

      I think Logo is one of the *best* programs to begin computer programming for kids because it is very easy to make the computer *do* things, and with these new implementations it does not need to be as "boring" as just drawing lines.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    6. Re:LOGO vs. BASIC by ZeroPly · · Score: 3, Funny

      LOGO was actually fun - the point was what your program did, not how pretty your code was...

      Back in high school, after reading a book "Turtle Graphics" I created my own turtle environment in Basic on the Apple IIc. I set it up for multiple turtles so that I could give each of them rules (inadvertently modeling a predator-prey system long before I knew what it was). I remember one day I left the computer running on a fairly complex set of rules that had each turtle avoiding the edge, following and avoiding other turtles with 90 degree turns only, etc. etc.

      When I came back about an hour and a half later after lunch I discovered that my program had drawn an intricate fractal swastika across the whole screen. The teacher and several other students had already seen this. Much fun explaining that one - thank heavens it was before the modern paranoid age of "zero tolerance" in schools.

      Learning programming used to be more fun back then. Instead of clean code that did boring things, we wrote sloppy code that did fun things. Nowadays the pedagogues dictate what kids learn, not the geeks. I feel a bit sorry for the younger people learning CS nowadays because there's no way to convey what the atmosphere was like back in the 80s.

      --
      Support microSD: in a post 9/11 world, it is unwise to carry your data on media that you cannot comfortably swallow.
  2. LOGO was perfect for its intended use by crgrace · · Score: 5, Interesting

    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.

  3. Re:lopgo vs python by salesgeek · · Score: 4, Informative
    So really, LOGO wasn't all that "good". Why then does it have a "following"?

    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
  4. LOGO beyond middle school by fleck_99_99 · · Score: 3, Insightful

    It's interesting that most comments here are along the lines of "I saw LOGO when I was 7" through "I played with LOGO for an hour in middle school." I tinkered with a couple of LOGO variants as a kid, but my real LOGO experience ended up being... in college.

    In my school's Computer Science department, the class that weeded out (or at least delayed) the majority of students was our Discrete Structures course. The theoretical part of the course focused on typical discrete logic, discrete math, sets, predicate calculus, etc topics. But the unusual part was that the professor was determined to break us out of the C++ mold that the introductory programming courses began. Therefore, he picked LOGO as the language for the course. Sure, interpreted LOGO wasn't the most blindingly-fast choice, but the list-based nature of the class made it very much a "LISP Light" that we could quickly work with for solving problems. Surprisingly, it was extremely flexible for the kinds of logic problems we were working with. By the end of the year, I really had to rethink my initial concept of "oh no, turtle graphics." Plus, we got exposed to a bunch of quite interesting offshoots, such as StarLogo, a massively-parallel-turtle variation of LOGO.

    If you've never had to write a parser for an arbitrary boolean arithmetic expression in LOGO, then you've never really lived... (Er...)

    --
    seven two six five
    seven four six one seven
    two six four two e
  5. A LOGO without graphics... by Anonymous Coward · · Score: 5, Interesting

    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...

  6. massively-parallel-turtle by stoolpigeon · · Score: 3, Funny

    so turtles all the way down?

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  7. The Turtle killed Logo by Tracy+Reed · · Score: 3, Insightful

    The turtle was the worst thing to ever happen to Logo. Logo is a full featured language capable of doing anything other languages can. But because we were all introduced to the turtle at relatively young ages and nobody ever showed us how to do anything more than draw simple pictures we all concluded that it was only a toy and not for serious use. Only now, years later, do I realize how wrong that was.

    For those who want to rediscover Logo and learn what it was *really* all about you can go to the website of Brian Harvey, a logo guru:

    http://www.cs.berkeley.edu/~bh/

    On this website you can download a nice series of textbooks about Logo and also download the Berkeley Logo implementation of the language. I was surprised to find that Logo is a functional programming language. I am also studying Lisp, Scheme, Haskell, and Erlang and find the whole concept of functional programming to be very interesting. It is getting hot again and will become a critical part of programming if we are to take advantage of multi-core cpu's.

    I am constantly amazed by just how vast this industry really is. I wish it hadn't taken me so long to realize this and I am saddened that so many people coming out of school these days have no clue that there is anything other than Java and Dot Not out there.

  8. Re:LOGO - not a viable adult language by Dahlgil · · Score: 4, Insightful

    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.