[HN Gopher] History of Logo
       ___________________________________________________________________
        
       History of Logo
        
       Author : lelf
       Score  : 63 points
       Date   : 2020-05-02 15:32 UTC (7 hours ago)
        
 (HTM) web link (escholarship.org)
 (TXT) w3m dump (escholarship.org)
        
       | mimixco wrote:
       | LOGO changed my life! When I learned it as a kid, it made me
       | realize that software was "castles in the sky" and you could do
       | anything you want. 41 years later and a career programmer, I'm
       | now using Lisp in our most modern product. :-) I'll always be
       | grateful to Papert for his work in creating and teaching LOGO.
        
       | lou1306 wrote:
       | One of Logo's derivatives, NetLogo [1], seems to be pretty
       | popular among academics as an agent-based modeling tool. It also
       | has a neat browser interpreter. Worth a look, IMO.
       | 
       | [1]: http://ccl.northwestern.edu/netlogo/
        
       | DonHopkins wrote:
       | Here is the source code to LLogo in MACLISP, which I stashed from
       | the MIT-AI ITS system. It's a fascinating historical document,
       | 12,480 lines of beautiful practical lisp code, defining where the
       | rubber meets the road, with drivers for hardware like pots,
       | plotters, robotic turtles, TV turtles, graphical displays, XGP
       | laser printers, music devices, and lots of other interesting code
       | and comments.
       | 
       | https://donhopkins.com/home/archive/lisp/llogo.lisp
       | 
       | Lars Brinkhoff got some of this code to run in MacLisp on an
       | emulator! (I don't know how much of the historical hardware the
       | emulator supports yet, but he's probably worked on some of that
       | too. ;) )
       | 
       | https://github.com/PDP-10/its/issues/620
       | 
       | Thanks to Lars, here are two revisions of an AI Lab memo about
       | LLOGO:
       | 
       | http://bitsavers.org/pdf/mit/ai/aim/AIM-307.pdf
       | 
       | http://bitsavers.org/pdf/mit/ai/aim/AIM-307a.pdf
       | 
       | And a Logo manual and glossary of PDP-11 Logo:
       | 
       | http://bitsavers.org/pdf/mit/ai/aim/AIM-313.pdf
       | 
       | http://bitsavers.org/pdf/mit/ai/aim/AIM-315.pdf
       | 
       | http://bitsavers.org/pdf/mit/ai/aim/AIM-315a.pdf
        
         | larsbrinkhoff wrote:
         | Also running on the emulator: PDP-10 Logo, PDP-11 Logo, Applle
         | II Logo.
         | 
         | The emulator doesn't support the robot arm yet.
        
           | DonHopkins wrote:
           | I have nightmares about that! ;)
           | 
           | https://donhopkins.com/home/catalog/hyperlook/TalkInterfacin.
           | ..
        
       | nicetryguy wrote:
       | Aaaand once again Gary Kildall gets left out of history. While
       | CEO of Digital Research, the largest software company at the time
       | (besides IBM), he did an entire implementation himself! DR Logo
       | had some innovative graphical features.
       | 
       | https://www.youtube.com/watch?v=l4P6MDuk3Zk
        
       | ken wrote:
       | Logo was a hard pill to swallow in the 1980's. It had some neat
       | features 'on paper' but it was hard to appreciate them because it
       | was agonizingly slow on the computers of the day.
       | 
       | It was the first programming experience I ever had where I'd type
       | in my function, and then had to wait a while for the computer to
       | do something to it (it never used the word "compiler"), and then
       | it could run. I remember thinking: this makes programming not-
       | fun. I could write it in assembler faster than I'm waiting for
       | the "...." to dance across the screen.
        
         | TheBlight wrote:
         | I never really thought of LOGO as a programming language as a
         | kid. It just seemed like a game to me. I also had no concept of
         | anything with a computer being fast or slow so its speed seemed
         | normal.
        
           | ken wrote:
           | That's an interesting connection. Logo claimed to be
           | "interactive" but staring at a compilation log go by for 30
           | or 60 (or more) seconds really pushed the limits of what one
           | might consider "interactive".
           | 
           | Whereas, "Robot Odyssey" was an actual game, and it was a
           | terrific way to get me even more interested in programming.
           | You never had to just sit and wait on it -- or maybe you did
           | but they disguised it so well with animation or loading
           | screens or whatever that I never noticed.
        
             | TheBlight wrote:
             | I don't remember the details but I remember some of the
             | kids who were good at math would get to go to the computer
             | room sometimes and instead of math class and we'd make LOGO
             | programs or do other stuff on Commodore PETs. Just seemed
             | like fun. We each had to bring our own disk with our name
             | on it. This was like 2nd and 3rd grade.
        
         | DonHopkins wrote:
         | Reminds me of a comic I saw in an old Apple ][ magazine:
         | 
         | (One kid talking to another, with dad in the background hunched
         | over an Apple ][.)
         | 
         | "Daddy's playing Pascal. That's where you try and see how many
         | dots you can get before it beeps and you say nasty words."
        
       | pgtan wrote:
       | Logo rules big times!
        
         | crznthndr wrote:
         | Even in 2020, I was pleasantly surprised that my kids school
         | teaches Logo at the elementary school level! However, I had a
         | hard time convincing parents who were suggesting it to be
         | replaced with Python or a more modern programming language :(
        
           | pgtan wrote:
           | You lucky! My kid's school teaches Delphi/TurboPascal (8.
           | grade, first programming language course), which they
           | replaced with Lazarus unable to install Delphi on modern PCs.
        
             | badsectoracula wrote:
             | On one hand, Lazarus and Free Pascal are great so it is
             | nice to see it being used as an introduction to
             | programming.
             | 
             | On the other hand... Lazarus is way too complicated for
             | someone's first foray into programming, IMO. The IDE throws
             | at you a barrage of windows, buttons, lists, etc that can
             | be almost as overwhelming as an airplane's cockpit :-P.
             | 
             | I always maintained that Free Pascal should either ditch
             | the text mode IDE (outside of looking weird to anyone who
             | didn't grew up with Turbo Pascal, almost no
             | terminal/console works reliably enough for it and even in
             | cases where it works, the IDE itself is very buggy -
             | especially in the recent versions) and develop a simple
             | GUI-based one akin to Turbo Pascal for Windows (ie.
             | something that focuses only on small-sized programs) and
             | have Lazarus as the "next step". Hell, it could even be
             | based on Lazarus since most of its functionality is in the
             | form of reusable components.
        
               | zozbot234 wrote:
               | > I always maintained that Free Pascal should either
               | ditch the text mode IDE
               | 
               | Why not fix the bugs instead? And it shouldn't look weird
               | to anyone who has used TUI programs. In fact, we really
               | should have support for these TUI features (stackable
               | text windows, mouse-controlled menubar and widgets,
               | context-sensitive status-bar) right inside emacs, or some
               | other generic editor. They have stood the test of time
               | wrt. intuitiveness and ergonomics, and it's weird that we
               | still lack them in terminal-like environments.
        
           | new2628 wrote:
           | There's some merit to both sides. As a kid in the eighties, I
           | remember being annoyed by Logo -- it seemed a toy, and even
           | as I child I wanted to learn the tools with which "real
           | programs" (mostly games) could be written.
        
             | pgtan wrote:
             | Berkeley Logo has higher order mapping functions like
             | "cascade" and "crossmap" which I miss in modern Emacs Lisp
             | with its countless packages for example.
             | 
             | If you want something more fancier, NetLogo provides agent
             | based parallelism which is more suitable for games.
             | 
             | The only thing I miss in (Berkeley) Logo is a better fill
             | function.
        
             | DonHopkins wrote:
             | Snap! has the full power of Scheme (first class functions,
             | user defined blocks, recursion, closures, continuations,
             | JavaScript integration, etc), with a visual block syntax
             | and playful graphical environment with turtle graphics like
             | Scratch.
             | 
             | The following post is a couple years old, but maybe
             | somebody can provide some updates and recent info!
             | 
             | Edit: I should have RTFA first, which is totally up to
             | date, just published in 2020, from the turtle's mouth:
             | 
             | https://escholarship.org/uc/item/1623m1p3
             | 
             | >Brian Harvey's Personal Narrative on Snap!: Scheme
             | Disguised as Scratch
             | 
             | >In 2009, the University of California, Berkeley, was one
             | of several universities developing a new kind of
             | introductory computer science course, meant for non-CS
             | majors, to include aspects of the social implications of
             | computing along with the programming content. Scratch
             | wasn't quite expressive enough to support such a course (it
             | lacked the ability to write recursive functions), soProf.
             | Daniel Garcia and I thought "What's the smallest change we
             | could make to Scratch to make it usable in our course?"
             | After 20 years teachingStructure and Interpretation of
             | Computer Programs[Abelson et al.1984], the best computer
             | science text ever written, I knew that the answer to
             | "what's the smallest change" is generally "add lambda." I
             | joined forces with German programmer Jens Monig, who had
             | developed BYOB (Build Your Own Blocks), an extension to
             | Scratch with custom (user-defined) blocks, including
             | reporters and predicates. [...]
             | 
             | https://news.ycombinator.com/item?id=17594403
             | 
             | DonHopkins on July 23, 2018 | parent | favorite | on: Ask
             | HN: Best Lego Mindstorms alternative for fun p...
             | 
             | One of the coolest ways to learn programming I've ever seen
             | is the Snap! visual programming language, which is written
             | in JavaScript and runs in the browser.
             | https://snap.berkeley.edu
             | 
             | It's the culmination of years of work by Brian Harvey and
             | Jens Monig and other Smalltalk and education experts. It
             | benefits from their experience and expert understanding
             | about constructionist education, Smalltalk, Scratch,
             | E-Toys, Lisp, Logo, Star Logo, and many other excellent
             | systems.
             | 
             | Snap! takes the best ideas, then freshly and coherently
             | synthesizes them into a visual programming language that
             | kids can use, but is also satisfying to professional
             | programmers, with all the power of Scheme (lexical
             | closures, special forms, macros, continuations, user
             | defined functions and control structures), but deeply
             | integrating and leveraging the web browser and the internet
             | (JavaScript primitives, everything is a first class object,
             | dynamically loaded extensions, etc).
             | 
             | Y Combinator demo:
             | 
             | https://i.imgur.com/cOq8tvR.png
             | 
             | https://snap.berkeley.edu/snapsource/snap.html#present:User
             | n...
             | 
             | Here's an excellent mind-blowing example by Ken Kahn of
             | what's possible: teaching kids AI programming by
             | integrating Snap! with existing JavaScript libraries and
             | cloud services like AI, machine learning, speech synthesis
             | and recognition, Arduino programming, etc:
             | 
             | AI extensions of Snap! for the eCraft2Learn project
             | 
             | https://ecraft2learn.github.io/ai/
             | 
             | >The eCraft2Learn project is developing a set of extensions
             | to the Snap! programming language to enable children (and
             | non-expert programmers) to build AI programs. You can use
             | all the AI blocks after importing this file into Snap! or
             | Snap4Arduino. Or you can see examples of using these blocks
             | inside this Snap! project.
             | 
             | https://github.com/ecraft2learn/ai
             | 
             | http://lntrg.education.ox.ac.uk/presentation-of-ai-cloud-
             | ser...
             | 
             | Use devices with Snap!:
             | 
             | Orbotix Sphero guide by Connor Hudson and Dan Garcia:
             | 
             | https://docs.google.com/document/d/11wR53OTnofRtTtxZCmxnCUj
             | I...
             | 
             | Lego NXT package by Connor Hudson:
             | 
             | https://github.com/technoboy10/snap-nxt
             | 
             | Nintendo Wiimote package by Connor Hudson:
             | 
             | https://github.com/technoboy10/wiisnap
             | 
             | Finch and Hummingbird robots package by Tom Lauwers:
             | 
             | https://www.hummingbirdkit.com/learning/snap-programming/
             | 
             | Parallax S2 robot package by Connor Hudson:
             | 
             | https://github.com/blockext/s2
             | 
             | LEAP Motion by Connor Hudson:
             | 
             | https://github.com/technoboy10/snapmotion
             | 
             | Speech synthesis by Connor Hudson:
             | 
             | https://github.com/technoboy10/snap2speech
             | 
             | Arduino package by Alan Yorinks:
             | 
             | https://github.com/MrYsLab/s2a_fm
             | 
             | Arduino package by Bernat Romagosa/Citilab:
             | 
             | http://snap4arduino.rocks/
             | 
             | Fischertechnik ROBOTICS TXT Controller by Richard Kunze:
             | 
             | https://github.com/rkunze/ft-robo-snap
             | 
             | Snap! for Raspberry Pi by rasplay.org:
             | 
             | http://downloads.rasplay.org/pisnap/
             | 
             | More Snap! extensions for CS education:
             | 
             | snap-apps.org provides Edgy for graphs, Cellular for multi-
             | agent simulation, and more.
             | 
             | http://snap-apps.org/
             | 
             | http://www.snap-apps.org/edgy.html
             | 
             | http://www.flipt.org/#cellular
             | 
             | Netsblox for multiplayer networking.
             | 
             | https://netsblox.org/
        
       | DonHopkins wrote:
       | Seymour Papert, introducing "The Turtle":
       | 
       | https://www.youtube.com/watch?v=-V_OPfmbbCk
       | 
       | https://www.youtube.com/watch?v=fTO-Ruby-Uo
       | 
       | https://www.youtube.com/watch?v=CJlRGe5QGhs
        
       | kilbuz wrote:
       | When I was in elementary school in the 80s, someone in our
       | district retrofit a school bus with two rows of computers running
       | along the sides. The bus would travel to each school in the
       | district once a month or so. We would all walk out to the parking
       | lot, board the bus, and use Logo. It was probably the first
       | exposure to a computer most of the kids in my class had, and I
       | have never forgotten it.
        
         | onemoresoop wrote:
         | Wow, that was cool. My first exposure to programing was also
         | logo, back in the 80s, back in eastern europe. It was in the
         | form of an afterschool program my father found out about. I
         | loved it. Then when first dabbling in basic my first instinct
         | was to try to draw with it. I think theres something inherently
         | good about computer drawing that attracts kids to computers at
         | early ages, before they are capable of developing interest for
         | abstract ideas and problem solving.
         | 
         | For older kids who want to learn programming I definitely
         | recommend starting with Racket. It comes with cool libraries
         | and small games can be built very creatively. Plus a lot more.
        
         | DonHopkins wrote:
         | A Logomobile!
         | 
         | https://www.amazon.com/Turtle-Bus-Window-Sticker-Decal/dp/B0...
         | 
         | Could they program the computers inside the bus to drive it
         | around, like Robot Odyssey? ;)
         | 
         | https://en.wikipedia.org/wiki/Robot_Odyssey
         | 
         | https://slate.com/technology/2014/01/robot-odyssey-the-harde...
         | 
         | https://www.robotodyssey.online/
         | 
         | I suppose there could be a downside to that:
         | 
         | https://www.vaildaily.com/news/photos-turtle-bus-rescued-by-...
        
       | DonHopkins wrote:
       | Lars Brinkhoff suggests that this thread comp.lang.logo with
       | Brian Harvey and Leigh Klotz is required reading:
       | 
       | https://groups.google.com/forum/#!topic/comp.lang.logo/UqOvE...
       | 
       | Just a couple highlights from a detailed history of Logo that
       | Brian and Leigh and others posted:
       | 
       | >From Brian Harvey:
       | 
       | >Many, many people have been involved in the development of Logo.
       | 
       | >Wally Feurzeig started the whole thing by organizing a group at
       | Bolt, Beranek, and Newman, Inc., to study the educational effects
       | of teaching kids a programming language. The first language they
       | used, like most programming languages, was focused on numeric
       | computation, and it was Wally's idea that kids would find it more
       | natural to work in an area they knew better, namely natural
       | language; therefore, he set up a team to design a language
       | featuring words and sentences. Wally made up the name "Logo."
       | 
       | >The team Wally put together at BBN included Seymour Papert and
       | Dan Bobrow. The three of them are credited as the designers of
       | the first version of the language; Dan wrote the first
       | implementation. In a BBN report dated August, 1967, credit for
       | additional work is given to Richard Grant, Cynthia Solomon, and
       | Frank Frazier.
       | 
       | >Seymour later started a Logo group at MIT, where Logo
       | development continued. The MIT versions of Logo were
       | substantially different from the BBN ones, both in the notations
       | used and in the things the language could do. Most notably,
       | turtle graphics was added at MIT.
       | 
       | >Among the many people who contributed to the development of Logo
       | at MIT, at the risk of leaving someone out, are Hal Abelson, Paul
       | Goldenberg, Dan Watt, Gary Drescher, Steve Hain, Leigh Klotz,
       | Andy diSessa, Brian Silverman... oh, lots of people.
       | 
       | >I think that most of the early documents are out of print now,
       | but whatever documentation there is of the early efforts will be
       | in the form of technical reports from BBN and from MIT. You may
       | have to visit Cambridge to find them!
       | 
       | >From Leight Klotz:
       | 
       | >In the mid 1970's, when the AI Lab Lisp Machine project was just
       | getting underway, Marvin Minsky and Danny Hillis (later to found
       | Terrapin, and still later, Thinking Machines) put together a
       | project to build a Logo machine. It had two components: a PDP-11
       | processor (the 3500) and a separate vector-graphics display (the
       | 2500). Guy Montpetit, a Canadian entrepeneur, funded development
       | eventually, and a company called General Turtle was formed.
       | General Turtle built and sold the 2500/3500 system. Henry Minsky,
       | then about 12, worked on the design of the 2500, using the
       | Stanford Draw program, one of the early electronics CAD systems.
       | (The 2500 had this really great barrell shifter stolen from the
       | Lisp machine design, but it was later found not to work, so it
       | was never used.) [...]
       | 
       | >[...] Like Brian, I've left out many people who worked on Logo
       | over the years: Brian Fox and Flavio Rose worked for me at
       | Terrapin on a contract basis briefly, as did vagabond programmer
       | Devon McCullough (who used to dial in with a 300 baud modem he'd
       | written in entirely software using the parallel game port, with
       | an 80-column mixed-case display done with 3x5 pixel characters;
       | when the modem detected the call waiting click on the line, it
       | would make the Apple II speaker make the telephone ringing sound
       | -- a feature which I just saw a US patent filed on, not by
       | Devon.), and the frustrated Sinclar QX programmer, who I suspect
       | doesn't want his name used. Of course, there were tons more
       | people at the AI Lab in the pre-commercial days...
       | 
       | >From Lars Brinkhoff
       | 
       | >Hello,
       | 
       | >I'm mostly researching PDP-10 software, especially MIT's
       | Incompatible Timesharing System.
       | 
       | >I have recently stumbled across some of the LOGO group work. I
       | have a copy of the Dazzle Dart game that ran on their PDP-11/45.
       | It uses the Tom Knight vector display controller, so it's not
       | easy to run it.
       | 
       | >Maybe it would be possible to get the original MIT PDP-11 LOGO
       | running.
       | 
       | >[...] It's running now.
       | 
       | >[...] Now also BBN PDP-10 Logo, MIT CLOGO, MIT Lisp Logo, and
       | hopefully soon MIT Apple II Logo (direct ancestor of Terrapin
       | Apple II Logo).
        
       | chrisdone wrote:
       | There's a StrangeLoop talk about teaching programming by Felienne
       | Hermans (https://www.youtube.com/watch?v=g1ib43q3uXQ) that claims
       | that all fields have an "exploration vs instruction" debate on
       | how to teach their field, but this debate is apparently absent
       | from the field of programming for the most part, wherein the
       | "mess around and figure it out" exploration style of LOGO and
       | Papert ("every time you teach something, you deprive a [student]
       | of the pleasure and benefit of discovery") is the predominant
       | unquestioned wisdom. Felienne wants more pedagogy fights. It's a
       | worthwhile talk. I love LOGO and I think our generation of
       | programmers are very sympathetic Papert's philosophy due to most
       | of us being self-taught to some degree (you can see the fond
       | nostalgia already on display in the comments here), but Felienne
       | made me think about it more critically.
        
         | rzzzt wrote:
         | OT, but Felienne has a great talk on functional programming in
         | Excel (thanks for reminding me of her name):
         | https://www.youtube.com/watch?v=0yKf8TrLUOw
        
         | markdeloura wrote:
         | Thanks for the link! It's a great discussion to have and should
         | be a topic for all learning, not just CS Ed. If you look at the
         | K-12 CS Ed standards defined at the state level, you'll find a
         | generally coherent approach to staged learning of CS, both in
         | terms of computational thinking structure (teach sequential
         | behavior before conditional behavior) and language complexity
         | (Scratch first, Java later). It's also worth considering
         | playful or project-based approaches vs rigorous curricula-based
         | learning... we're lucky to start with playfulness in CS because
         | of the history of Logo. But what about for example,
         | aeronautics? You might really enjoy learning to build and fly a
         | rocket in Kerbal Space Program, but at some point you might
         | yearn for more and benefit from a deep dive into some
         | scaffolded traditional curricula. Then you can come back to
         | Kerbal and apply what you learned, etc etc. Perhaps there's
         | some sort of optimal cadence, different for each person and
         | their interests. What's the analog for CS Ed?
        
       | soperj wrote:
       | Logo was definitely my introduction to programming. Never thought
       | of it as programming. Lots of fun. We tried to make an animation
       | with it as a kid.
        
       | manaskarekar wrote:
       | My first exposure to computers was through Logo in 1992!
       | 
       | Thinking back, it was really effective in grabbing your attention
       | and making you want to experiment with different commands!
       | 
       | This is a good reminder that Logo is still a great teaching tool,
       | especially for kids.
       | 
       | I suppose python + turtle can replicate the effect to some degree
       | as well.
       | 
       | https://docs.python.org/3/library/turtle.html
        
       | DonHopkins wrote:
       | Also thanks to Lars Brinkhoff's research:
       | 
       | Here's a video uploaded by Cynthia Solomon. Seems legit.
       | 
       | https://www.youtube.com/watch?v=c4kMzrDr4jQ
       | 
       | Definitely check out the rest of Cynthia Solomon's youtube video
       | treasure trove, with lots of great stuff by Marvin and Margaret
       | Minsky, Seymour Papert, and others from MIT and Atari Cambridge
       | Research:
       | 
       | https://www.youtube.com/user/cynthiaso/videos
       | 
       | Seymour Papert on Logo, Turtles and Giraffes:
       | 
       | https://www.youtube.com/watch?v=maDzjHIiXZc
       | 
       | https://www.youtube.com/watch?v=lDyym_9-E-g
       | 
       | https://www.youtube.com/watch?v=ha8sTgtUejM
       | 
       | A gestural programming system developed by Margaret Minsky, Danny
       | Hillis, Daniel Huttenlocher, David Wallace (Gumby), and Radia
       | Perlman at the MIT-AI Lab:
       | 
       | https://www.youtube.com/watch?v=-Wq6SQTVM9M
       | 
       | Marvin Minsky demonstrating a Logo Machine with an acoustic modem
       | and cassette tape, talking about education theory, and showing a
       | part of his first "thinking" machine: a simulated nerve synapse
       | (1 of 40) with an adjustable knob that he built in 1951 out of
       | WW-II surplus hardware, and discussing playing with Tinker Toys
       | as a child:
       | 
       | https://www.youtube.com/watch?v=c4kMzrDr4jQ
       | 
       | https://www.youtube.com/watch?v=S72xF3gd-mI
       | 
       | https://www.youtube.com/watch?v=yZRQQl8mA0c
       | 
       | https://www.youtube.com/watch?v=dfKRNHRyD64
       | 
       | David Levitt demonstrating his musical improvisation software:
       | 
       | https://www.youtube.com/watch?v=ocwsVkqEKys
        
       ___________________________________________________________________
       (page generated 2020-05-02 23:00 UTC)