Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Education Programming Software Entertainment Games IT Technology

Forty Years of LOGO 162

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."
This discussion has been archived. No new comments can be posted.

Forty Years of LOGO

Comments Filter:
  • LOGO vs. BASIC (Score:5, Interesting)

    by gbulmash ( 688770 ) * <semi_famousNO@SPAMyahoo.com> on Tuesday October 16, 2007 @11:43AM (#20997645) Homepage Journal
    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.
    • lopgo vs python (Score:3, Informative)

      by rucs_hack ( 784150 )
      My son tried logo, because his school had it and thought it would be instructive for the more able students. He was utterly bored, and is now learning python in his own time.

      Logo was good, but the language landscape is so vast now there are better languages for almost every task to which logo can be put.
      • Re: (Score:3, Insightful)

        Logo was good, but the language landscape is so vast now there are better languages for almost every task to which logo can be put.

        I don't know -- I can't think of anything better for the kind of multi-agent simulations that StarLogo [mit.edu] and NetLogo [northwestern.edu] seem to focus on than those are similar Logo derivatives (at least, for an educational environment that doesn't take lots of outside programming experience as a prerequisite). OTOH, one disadvantage Logo has is that there is a lot less support in the form of texts r

      • >>> import turtle
        >>> x = turtle.Pen()
        >>> x.forward(10)
        >>> x.left(90)
        >>> x.forward(10)

        (Try it, it's fun!  It's logo in python!)
    • Re:LOGO vs. BASIC (Score:5, Insightful)

      by Scrameustache ( 459504 ) on Tuesday October 16, 2007 @11:58AM (#20997923) Homepage Journal

      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.
      • Re:LOGO vs. BASIC (Score:5, Insightful)

        by lahvak ( 69490 ) on Tuesday October 16, 2007 @12:17PM (#20998241) Homepage Journal
        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.
        • 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.

          Good thing I said "might" ;-)

          We were switched over to other, less awesome computer classes after that short spell with LOGO, I never got around to learning about the more advanced stuff LOGO could do. I tried finding logo later on for my personal learning needs, but no software salesman had any clue what I was talking about.

        • by Flwyd ( 607088 )
          I was quite impressed to learn last year that I learned LISP in the same week I learned BASIC... at just the tender age of 10!

          During that week of computer camp, I learned an important lesson about debugging. I'd input 50 to my "guess the number" program and it would say "That's incorrect, try a larger number." I'd give it 70 and then it would respond "That's incorrect, try a bigger number." After getting the latter up to 100, it told me that the number was 60. After debugging, I realized that my string
        • by Ed Avis ( 5917 )
          I've heard that a lot... that Logo is extensible, it's based on Lisp, etc etc. But I never saw any cases where it was more powerful than a half-decent implementation of Basic. All I really remember from trying to program in Logo is being unable to make a string containing a space character (because the quote character " begins a string but there is no closing " character) and thinking 'WTF?'.
      • Re:LOGO vs. BASIC (Score:5, Insightful)

        by B1 ( 86803 ) on Tuesday October 16, 2007 @12:19PM (#20998265)
        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.
        • by sootman ( 158191 )
          ...changing line numbers could unleash a horde of broken GOTO statements.

          It's been a long time, but didn't RENUM change line number references, in addition to line numbers?

          [later] OK, I just remembered that I have DOSBOX [sourceforge.net] and an ancient copy of GWBASIC [wikipedia.org] on my Mac so I fired them up and did a little test. (Yes, I should be working.) RENUM changed

          1 print "hi"
          2 goto 3
          3 end

          to

          10 print "hi"
          20 goto 30
          30 end

          RENUM is great, though it might have led to bad habits--write code first, add error-checking (a dozen lin

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

        Well, it makes it very easy to write a self modifying program. After all, your program is a list and LOGO is a list processor, so a program modifying itself is no big deal. To code at least. I'd like to see you do that with your whizzo BASIC tricks.
        • It might not have a lot of power under the hood

          Well, it makes it very easy to write a self modifying program. After all, your program is a list and LOGO is a list processor, so a program modifying itself is no big deal. To code at least. I'd like to see you do that with your whizzo BASIC tricks.
          Way. To miss. The point.
          • You're saying LOGO is a neat toy but doesn't have much power, right? I'm just trying to point out that actually, LOGO has lots of power, it's just not widely realised because so many people get distracted by the turtle and miss the list processing, or how it encourages recursion, etc. Which point did I miss?
            • You're saying LOGO is a neat toy but doesn't have much power, right?
              Wrong.
              • Okay, my bad, I guess I misunderstood. Maybe I'm misquoting?

                It might not have a lot of power under the hood

                Anyway, sounds like we're both happy that LOGO exists, so the world is okay.
                • Okay, my bad, I guess I misunderstood. Maybe I'm misquoting?

                  It might not have a lot of power under the hood

                  Anyway, sounds like we're both happy that LOGO exists, so the world is okay.
                  I wasn't really aware of what was under the hood because I didn't learn LOGO for long enough to find that out. Hence the 'might". I was told about its vast possibilities by others in the thread.

                  So, yeah: Yay LOGO!
    • Re:LOGO vs. BASIC (Score:5, Informative)

      by Lisandro ( 799651 ) on Tuesday October 16, 2007 @12:12PM (#20998159)
      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.
      • Repeat after me: BASIC is a bad learning language, BASIC is a bad learning language...

        You can probably write very elegant BASIC. But only because you already know what you're doing. I doubt it's what you would have written in your first few years of coding.

        Pascal is a good learning language. It makes (forces) you to think about structure. Sure, break all the rules later, when you know what you're doing and why you're breaking the rules. Until then, enforced structure is a good thing.
    • I had my first experiences with LOGO at six. I am guessing that your kid is super smart, so some exposure at an even earlier age might be a good thing.
      • I also learned LOGO when I was six (that was back when Radio Shack tought classes with TRS-80's... wow I'm old). What I think is so great about logo is that the syntax is very, very approachable -- even to kids who don't yet know how to spell!
    • Re:LOGO vs. BASIC (Score:5, Interesting)

      by xtracto ( 837672 ) on Tuesday October 16, 2007 @12:36PM (#20998555) Journal
      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 [mala.bc.ca] 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.

      • Logo was an (ALMOST) full featured lisp dialect with proper structured programming ,functional and other 'modern' things going on.

        The basics of the day, everything from Qbasic and back, where nowhere near as sophisticated. Early Logo I'm talking about , not newer ones.

        They just didn't teach that stuff. But remember all the classes on the funcy Iteration things LOGO could do that they'd teach with it? That wasn't just a 'cool feature'. Its a fundamental concept in functional programing. Considering a context
    • by icebrain ( 944107 )
      I, too, started with Basic (albeit in the mid-90's). Never saw LOGO... but I used a Lisp derivative (scheme) in our intro CS course at Georgia Tech. Even us non-CS guys (engineers, science majors, even liberal arts people) had to take the class.

      Scheme was probably one of the worst things they could have had us using for such a class. The majority of engineers and the others didn't need to get too far into advanced programming concepts; most of us will never use anything more complicated than matlab.

      Obvio
      • by be-fan ( 61476 )
        Lol. I was Class of '06 at Tech, and I remember helping all the people on my hall with Intro to CS. I actually like Scheme quite a bit, but I definitely think it's inappropriate to teach it to a bunch of engineers that will never really appreciate it. That said, maybe it would've been better if they were forced to appreciate advanced CS concepts. Maybe then when they wouldn't write such goddamn horrible Matlab code.
    • Re: (Score:3, Funny)

      by ZeroPly ( 881915 )
      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 o
    • Highschool is a bit old. I first encountered Logo on the Apple II around 2nd or 3rd grade.

      You could do a lot more with it than turtle graphics but that was the draw. I look back fondly, it is probably one of the reasons I'm a software engineer now, it wasn't hard to make the computer do something that was satisfying to a you kid. I fear now that there aren't enough analogs, Squeak is very cool, Alice might be it, it's just that expectations are so different. SImply drawing a picture on the screen

      • I, too, credit my love of programming and my career choice to early exposure to Logo in elementary school. Thanks Mrs. Wong!
    • I can't claim to match the 40 years LOGO has, but I can claim that my first computing experiencing was making the turtle do what I wanted on the good ol' Commodore 64. I was 7 years old. By about the time I was 9, my computing curriculum included replacing the turtle with custom single-color bitmaps. If you did it right, you could feign animation-- one image with a guy who is taking a step, one image with the guy's legs together; "pick up the pen", move a few pixels in the positive direction, replace the
  • What's interesting to me is that I never ran across Logo in school. My first exposure to a computer was in junior highschool. We had a lab filled with TRS-80 machines and we wrote stuff in basic. (This would have been 1982) Later, in highschool we did everything on Apple IIe's. Again, we started with basic and then moved on to Pascal.

    I don't know if it was just that the school district never got on board, or if logo's popularity was regional but I never heard of it until a couple years ago when I was
    • Sounds familiar.

      Funny part is, I still have a model III computer. It is great for the kids to tool around with doing whatever they want. It still works! However, once the 5 1/4" floppies are all bad, that is it. No more Model III. I wrote my first games on it, and my youngest son is completely into game design.

      Yeah, there is so much better out there now for everything, but the Model III was so simple to learn and write on.

      InnerWeb

      • In my high school - I hung out at the computer lab a lot. There was one major rule - no games except for rare times when they were o.k. If you were caught playing a game - the head of the math dept. who ran the lab (Mr. Cornell I think) would pull the floppy out of the drive and staple it to the wall. By the end of the year there were always a ton of floppies stapled up all over that room.
        • We had a similar rule, but I was writing the games, so I got around it. Three of us (we used the name Awesome Threesome Software) wrote, played or designed graphics for the games. One of the other students used to get mad at us and do things like pull our power cable. We built a *network* for the model IIIs using the cassette jacks, and *took* over his computer. He left us alone after we told him we could do the same thing to his grades. Like other bullies, he just needed to be stood up to in a way he

          • Ahaha Awesome. At school, some of us kids built a network based on cassette jacks. We used a bunch of wires from the joystick ports to signal that the thing was busy to stop network collisions. When we showed the ComSci teacher he almost fainted with surprised. We designed and built a fucking network. 13yos. This was mid-late 80s
    • My first exposure to a computer was in junior highschool.

      It seems that Logo was introduced to children a few years younger than that--think grades IV to VI. Computers were introduced into my elementary school around the time frame that computers were introduced into your high school (about 1982). In middle or high school students generally "graduated" to BASIC and perhaps Pascal programming. Older students were also the first to get computers (A small classroom with a number of Commodore PETs and a single
  • My first experience with Logo was in 7th grade.. Thinking back, it really helped me form the kind of thinking required for a developer. What I really loved about LOGO was how it was so easy to learn, yet at the same time you could do pretty complicated things with it.

    And by "do" I mean "draw with the turtle, of course" :-D For example, check out this gallery: http://www.ajlogo.com/gallery/ [ajlogo.com]
    • I got to learn Logo in 6th grade, and I *loved* it because I was l33t. Hell, I'd already been programming BASIC on a Vic-20, TRS-80 MC10, TI99-4A, and I'm not sure if Apple ][ BASIC came before or after the Logo. When I finally got my Commodore-128 I wrote a version of Logo called "Logo-128" -- the only thing it didn't really do well was variables, because I had no idea how to implement them in my version of a scripted language.

      Now, I just struggle to understand CakePHP. ::sigh:: I'm old at 35.
    • by arivanov ( 12034 )
      I got bored with it in 2 weeks. Now Forth in its GraphForth incarnation for the Apple was a completely different story. This was a totally awesome language. In the lineup of things available for the original apple basic, lego and the like looked like cripples compared to it.
  • I remember finding the erase command and doing simple animation by drawing & erasing stuff across the screen in a loop. Probably my very first "hack".

  • Wow. I'd not thought of those Atari 800s for years. I'd have to agree with other posters on LOGO use in teaching; if a student can program in LOGO, then they're already ready for another language.

    Personally, I was bored silly with LOGO and couldn't wait to get home to the ol' Trash-80 Model I Level II Basic. Scary, huh?

  • I had multiple opportunities and experiences in early elementary school (mid 90s), but the only thing I remember about it these days is that the mascot was a turtle and drew stuff with commands that I could never remember. Nor do I know of anyone personally who would be likely to recall more than that.

    Was it really that influential?
  • by crgrace ( 220738 ) on Tuesday October 16, 2007 @12:00PM (#20997943)
    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.
    • I had a Vic-20 and bought a special graphics cartridge for it so that I could draw stuff. I was extremely jealous of my friend's C64 and the ability to make graphics with sprites. That peeking and poking was some pretty cool stuff.
      • by crgrace ( 220738 )
        Agreed. But it probably isn't the best way to be introduced to programming concepts is it? PEEK and POKE was pretty arcane stuff to my 8 year old mind. Now Python... THAT is cool.
        • oh - i wouldn't argue that - and we were freshman in high school at that point. 2 of my friends had c64s - and gave me grief about my vic-20. we all teased our friend with a timex sinclair.

          i was part of a geek crowd at school that spent a lot of time hanging out in the math departments computer room. I remember a bunch of us huddled around the schools very first mac - just in awe of the thing. those were really good times.

          kids today have some great opportunities to learn and an amazing a
          • by crgrace ( 220738 )
            Thank you for sharing those memories. I am also in awe of what is available to kids today. For example, the MIT Open Courseware... Unbelievable. I use it a lot today, but it would have been a life preserver for me when I was a kid (I think I'm about 4 or 5 years younger than you are). Just ten years ago, you had to go to a library and know where to look to get a handle on any kind of advanced technology. Now you can go to google and learn anything you want for example from basic calculus all the way u
    • by chochos ( 700687 )
      Was that the version of LOGO that could have up to 4 turtles moving at different speeds and you could set a sprite for each one? I remember taking a class when I was 14 on some computers that had this LOGO and it was awesome (I already knew LOGO by that time, learned it when I was 9, but on an Apple II where there was only 1 turtle, you coudn't tell it to move at a set speed, not change its image to something else, it was just a triangle).
      I remember writing a game with that LOGO, where a plane went by and a
  • LOGO was my first exposure to programming when I was in elementary school in the 80s. I really liked it and still think it's a good way to get kids to understand the basics of programming (write and save a program to draw a triangle, a circle, etc.). I do not feel it is suitable for much beyond that.

    Of course, the idea that programming should be a part of a basic computer course has gone by the wayside. Today's kids computer classes are all about Microsoft Office and, if you're lucky, Dreamweaver.

    Bah.
    -l
  • My concern with teaching and using LOGO in education is that LOGO fails to provide people with a fully capable language that they can use life long. How many teens or adults program in LOGO? What type of "real" programs can be written in LOGO. Is it efficient enough for practical programs.

    My first programming language was BASIC, (then 6502/Z80 assembly) then Pascal, C and APL (APL is my favorite teaching langauge - see Kxdb+ from KX Systems to see where APL is now). While LOGO is cute, in my mind it fai
    • by Dahlgil ( 631022 ) on Tuesday October 16, 2007 @01:10PM (#20999081)
      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.
      • Thank you!

        Good lord. There's a lot of LOGO bashing around here today and I think it's little more than typical Slashdot elitism. "I was programming straight binary on punch cards when I was in a diaper!" or other such nonsense.

        I first played with LOGO in a summer school class when I was six. I didn't even realize we were programming. I was just drawing but as soon as I started playing with Basic and Pascal a few years later, I recognized variables, loop and branch statements for what they were immediately.
        • I'll second that. It's funny to look at the 'elitist' comments. Many of the writers really don't seem to know much about computer languages, structure, etc. Well, I guess this is /. I'll go back to my toy MRI system. True, it'll never work in the real world, but this is only play^h^h^h^hresearch.
    • Re: (Score:2, Insightful)

      by osu-neko ( 2604 )

      Your 2 cents ain't worth a dime... ;)

      It's kinda bizarre that you'd question the efficiency and capability to write "real" programs in it, then go on to invoke BASIC later in the post. In terms of being a fully capable language, BASIC was a toy language compared to LOGO. Pascal was better, at least it had proper procedures and functions, but still not quite as capable (it shared LOGO's heritage of being designed for education, but it lacked much of LOGO's sophistication). Only thing C has over it is a we

    • Re: (Score:2, Interesting)

      by Anonymous Coward
      Life-long tools I got in elementary school: Reading, Writing, and Arithmetic.

      Subjects where either the tools changed or my understanding of it was fundamentally altered by later education: Science, sociology, history, and everything else. And the "life-long" tools were built upon as well, of course.

      The purpose of most of your education isn't to prepare you for the rest of your life, it's to prepare you for the next step in your education. What a child is taught of gravity in first grade is so greatly si
  • My first real exposure to using a computer for something other than games was 'drawing' things in LOGO during third grade (I'm 27 now). When I think back on it, I believe that the experience was fundamental in shaping the way that I view development now.

    If I was ever in a position to expose today's kids (at an early age) to something like that, I'd be all for it. I say an early age simply because it's the thrill of being able to make the computer do something that hooked me (and figuring out how to solve my
  • by tjstork ( 137384 ) <todd.bandrowskyNO@SPAMgmail.com> on Tuesday October 16, 2007 @12:11PM (#20998129) Homepage Journal
    Apple II had a facility called shape tables [wikipedia.org] that could do sorta what logo could do at the time. You typed in a bunch of vertices in hex, and then you could draw the shape transformed in several interesting ways.

    Shapetables, I thought, were the bomb, but also, proved to be my first introduction to the lesson: there is always a better program than you.

    I was in high school at the time, Firestone in Akron, and we had a teacher that fought for and got a really nice computer lab. He was great. He had a lot of prestige because a future shuttle astronaut was one of his students, and in general, the math department there was one of the best in the state.

    Anyway, I spent hours hand coding my shape table for a little lunar lander video game I was writing, and I thought I was the cat's meow, and I was all about to show it to everyone, trumpeting my genius, and this other guy walks in with a pinball game written in assembly language.

    All I could do was compliment the guy, because it was great. He had decent sound, fast graphics, smooth play. It was just great. Amazingly, I don't know where he went with it, because it was right up there with the commercial pinballs of the day. But still, talk about humiliation! I about died!
  • Comment removed based on user account deletion
    • I'm probably a bit younger than you; I was a visual basic kid. I remember for a month or two, I had no idea you could declare variables. I just did what I assumed every professional software developer did: I drew an invisible label in the background to store my value. Who says VB teaches bad coding practices?
    • by teslar ( 706653 )
      Hello, my name is Logo kid. You killed my turtle, prepare to die!

      But, seriously, no, I don't think we'll actually be fighting over this. Logo no longer has any importance in my life, as I'm sure Basic hasn't in yours. It was simply fun while it lasted, way back in the good old days. Heck, I can't even remember enough Logo to make an informed argument in its favour ;) I do remember that I was writing some pretty funky GUI driven games in it at the end, but that's about it. Oh, and it kinda encouraged me t
      • You strangled your inner lisp coder at birth with the single act of using a GOTO in a functional language.

        I didn't even know you could :(
  • by fleck_99_99 ( 223900 ) <bela&maine,rr,com> on Tuesday October 16, 2007 @12:15PM (#20998209) Homepage

    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 [mit.edu], 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...)

  • by Anonymous Coward on Tuesday October 16, 2007 @12:21PM (#20998307)
    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...
    • by sootman ( 158191 )
      Sadly, that company's history ended badly; one of the partners was billing the clients directly and ran off with the money...

      He would probably be pretty easy to find -- I bet he went FD 10 RT 90 ... :-)
  • by Usquebaugh ( 230216 ) on Tuesday October 16, 2007 @12:22PM (#20998329)
    I've recently been playing with Logo, I'm a veteran of the dev trenches and have gone through SICP.

    I picked up all the 80s books I could find that used Logo to teach geometry, algebra, music, language etc. I'm currently working my way through them. There is of course the Compu Sci series from Berkeley http://www.cs.berkeley.edu/~bh/v1-toc2.html [berkeley.edu] That I'm planning to go through next.

    So for those of you who turned your nose up at logo because it's too simple for you may need to turn that statement around. Think Lisp without the parens.
  • by Tracy Reed ( 3563 ) <treed@ultrGAUSSa ... g minus math_god> on Tuesday October 16, 2007 @12:30PM (#20998445) Homepage
    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/ [berkeley.edu]

    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.
  • When I was 6, I was reading an old Apple //e manual that was lying around, learning BASIC out of it. Around the same time, I found the Apple LOGO II disks that my parents had had.

    I got bored quickly with turtle graphics, though, and found that BASIC (Applesoft in my case) did what I wanted better. Besides, I didn't even have to boot into an OS to play with BASIC.

    I ended up going for an associate's degree in computer programming. "Learned" VB, C++, RPG IV, and properly learned HTML and JavaScript.

    That's not
  • I touched on logo thanks to having an Amstrad 512k XT. It came with Locomotive basic, which included a logo dialect.

    It was a good way to explore geometry, trigonometry and vector maths in an instant feedback environment, but was next to useless for any practical programming purpose. As such, it does make a decent educational tool, but not for learning programming, rather just for geometry.

    As such, its uniqueness should be celebrated for the fact that while it is impractical for typical tasks it has survived
  • . . . and open that big box from Computability (anyone remember them?). Inside was my Atari 400, 410 Program Recorder and two cartridges: Atari Basic and Atari LOGO. I loved LOGO and hoped at the time that Byte or some of the other computer mags of the day would print program listings for it, but alas it was not to be - it came down to just me and my imagination, making Spirographs on the color TV. :-)
  • It was 1991 and I was very proud of my attempt at drawing a terminator (Terminator 2 was the big movie that prior summer) using LOGO. I got my grade for my drawing, and received an "A" for my drawing of a monkey..... It was a terminator damnit....
  • I recently introduced my kids to programming with Scratch http://scratch.mit.edu/ [mit.edu] rather than LOGO. It does include everything that LOGO does, but it has a lot of benefits that make the feedback from programming more immediate and accessible, and the web site is great for sharing ideas, sprites, etc.
  • Wow, I have not heard people talk about Alice in years, I thought it was dead.

    Turtle forever!
  • by Judebert ( 147131 ) on Tuesday October 16, 2007 @01:53PM (#20999889) Homepage
    I've been trying to get my elder daughters (12 and 9 years old) interested in programming. I tried Squeek (a LOGO-like subset of Scheme), which they enjoyed... for a little while. The eldest actually started writing up routines for the entire alphabet, but eventually lost interest. Coincidentally, I found Alice about three weeks ago.

    For kids, Alice has the staying power that Squeek and LOGO don't. It allows them to set up an entire 3D world and tell a story without ever making a single syntax error. They can even make their own interactive games, which is what they really want to do. No hunting for misspellings, no looking up methods or operators in website documentation, no Googling. Just programming, fast and simple. They don't even realize they're programming; they think they're having fun, and they are!

    Sure, Alice has a few shortcomings. There's NO DEBUGGER. Polymorphism isn't implemented. Custom methods aren't displayed in the world view. It's hard to produce new models. But on the other hand, it's got my kids thinking like object-oriented programmers, having fun, and producing stuff they love.

    I think the submitter nailed it with "Alice will be the wave of the future".
    • I tried Alice once.
      It chewed up all my computer's memory, spent 5 minutes swapping, then tanked. MMM, Java.

      Perhaps I'll try it again now that I have a faster machine with more memory.
    • by sjames ( 1099 )

      The eldest actually started writing up routines for the entire alphabet, but eventually lost interest.

      Oddly enough, Postscript could be an interesting choice. It's FORTH like reverse polish syntax takes getting used to, but it is in esscence a turtlegraphics system with some nice addons.

  • by jeblucas ( 560748 ) <jeblucasNO@SPAMgmail.com> on Tuesday October 16, 2007 @02:13PM (#21000115) Homepage Journal
    Scratch [mit.edu] from the MIT Media Lab is everything I got out of Logo when I was kid except more fun. Kids can still learn recursion, sprite manipulation, even some coler stuff I don't remember from Mr. Keating's 6th grade symposia on the wonders of "mt". I have sent this link on to anyone that haskids and a computer. Awesome fun, and what the hell--some learning to boot.
  • by Zero__Kelvin ( 151819 ) on Tuesday October 16, 2007 @02:16PM (#21000167) Homepage
    From the alice.org website:

    Try Alice out for yourself. Available on all three platforms - PC, Mac and Linux
    Given that Alice is "a free gift to you form Carnegie Mellon University", you would think they would know that there are more than three platforms in the world. On the other hand, at least they don't think "all three platforms" are XP, Vista, and DOS.
  • The linked page seems to miss out the rather nice, free . Worth a look. [alancsmith.co.uk]

    I used logo a lot when I was in my early teens. There was a very very nice implementation for the ZX Spectrum (stop laughing at the back). Not only did it let me have fun with recursion and drawing fractal images, it also had the LISP syntax in full. I probably had more fun extending the language with new commands and writing a pretty decent Eliza program, than I did with the Turtle stuff.
  • You need to use a mock turtle. :)
  • penup; fd 200; lt 90; fd 300; pendown; fd 100; bk 50; lt 90; fd 100; lt 90; bk 50; fd 100; penup; fd 100; lt 90; pendown; fd 100; bk 50; rt 90; fd 75; rt 90; bk 50; fd 100; lt 90; penup; fd 25; lt 69; pendown; fd 110; rt 138; fd 110; bk 55; rt 111; fd 39; bk 39; penup; lt 111; fd 55; lt 69; fd 62; lt 90; pendown; fd 100; rt 90; bk 37; fd 75; penup; fd 25; pendown; fd 75; bk 75; rt 90; fd 50; lt 90; fd 50; bk 50; rt 90; fd 50; lt 90; fd 75; penup; rt 90; fd 25; rt 90; fd 400; lt 90fd; pendown; fd 100; lt 90;
  • ... I remember my sixth grade when I had a teacher who was a geek type with high-tech stuff. We had Apple ][ and IIe in the classroom. He had a cool Apple logo turtle robot that was basically a plotter on big paper on the floor. Did anyone have those before?
  • It's a graphics system in the same spirit as LOGO. Kids might not even realize they're programming, which might be a handy feature with some kids, especially older ones. Teachers should check it out.

    http://www.contextfreeart.org/ [contextfreeart.org]

"Being against torture ought to be sort of a multipartisan thing." -- Karl Lehenbauer, as amended by Jeff Daiell, a Libertarian

Working...