[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)