https://worrydream.com/EarlyHistoryOfSmalltalk/#smalltalkAnd...
In this way, it was the older brother of Logo, but with a core object scaffold that was far more influential.
https://worrydream.com/EarlyHistoryOfSmalltalk/#smalltalkAnd...
In this way, it was the older brother of Logo, but with a core object scaffold that was far more influential.
Logo predated Smalltalk, so Smalltalk is more like an evolution on the idea and a younger brother.
EDIT: Looked up the dates. Logo was made in 1967, Smalltalk started development in 1969.
I remember that Logo was available for my TI-99/4a and assumed it was closer to the '80s.
Brian Harvey on dynamic binding, in the Snap! forum thread "Hygienic macros":
https://forum.snap.berkeley.edu/t/hygienic-macros/3258
I've summarized his points in moollm's snap-macros-metaprogramming.yml under dynamic_binding_and_scope:
https://github.com/SimHacker/moollm/blob/main/designs/snap/s...
He wishes Snap! had dynamic binding, at least for learners. This comes from decades of teaching Logo to kids, and he finds it easier to explain.
In Logo without lambda, the dynamic environment includes everything the lexical one would, plus more of the caller's variables.
Logo's MAP with ? wants name capture: the called procedure reads a variable the caller set.
Logo debugging works in the same language at the REPL, with every relevant local visible at the error.
Name capture rarely bites kids, who write one-off helpers for one or two callers.
He proposed hybrid scope and a DYNAMIC VARIABLES block. Neither shipped. Jens argued for lexical scope only, because blocks must be interchangeable.
https://forum.snap.berkeley.edu/t/hygienic-macros/3258/6
Brian Harvey> I admit that my slogan "Snap! is Scheme disguised as Scratch" would sort of push in the direction of hygienic macros. But historically we built Snap! more with the idea of Logo disguised as Scratch. It was just when we added lambda that we started thinking more in Scheme terms.
https://github.com/YootTowerManagement/YootTower/blob/main/Y...
Alan Kay> The fact that kids were to be the users, and the simplicity and ease of use of the already existing LOGO, whose own parents were LISP and JOSS (which set a standard for the esthetics for interaction that has not yet been surpassed), provided lots of motivation to have programs and transactions appear as simple as possible-i.e. moving from left to right, procedures gather their own messages, etc. It is no accident that simple SMALLTALK programs look a bit like LOGO!
https://news.ycombinator.com/item?id=23054174
Don Hopkins> 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.
Lars Brinkhoff suggests that this comp.lang.logo thread with Brian Harvey and Leigh Klotz is required reading:
https://groups.google.com/forum/#!topic/comp.lang.logo/UqOvE...
https://news.ycombinator.com/item?id=23054236
Brian Harvey> 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."
Brian Harvey> 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.
Leigh 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.
Lars Brinkhoff> 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).