4 ms·
History of Logo (2020) [pdf]
- ksaj 5y agoPeople interested in this will probably enjoy NetLogo and NetLogo3D. It's pretty much the Logo you know and love, but you can have many more than one "turtle" which then allows you to program complex things such as flocking algorithms. Here's an example of it in action: https://www.youtube.com/watch?v=NdpTVAx6AU0 https://www.youtube.com/watch?v=NdpTVAx6AU0 You can even move the box around to see things from any arbitrary direction and distance. It's mentioned in the document, but it doesn't get into what makes NetLogo as interesting as it is. Also, I love this story: "A story Paul Goldenberg recounts from the early days of Logo is that one day a child typed the command love and got the response love has no meaning. The child tearfully reported this to Paul. The next day that error message was changed to I don’t know how to love"
- emmanueloga_ 5y agoThis is one of 19 papers submitted to HOPL (History of Programming Languages) IV if anybody is interested [1]. 1: https://dl.acm.org/toc/pacmpl/2020/4/HOPL https://dl.acm.org/toc/pacmpl/2020/4/HOPL
- harry8 5y agohttps://docs.python.org/3/library/turtle.html https://docs.python.org/3/library/turtle.html $ python from turtle import * color('red', 'yellow') begin_fill() while True: forward(200) left(170) if abs(pos()) < 1: break end_fill() done() In case, like me for years, you didn't know it was there...
- pgtan 5y agothis is a brilliant example how awful ugly python with its loops is (also compared to logo)
- bitwize 5y agoI used Python's turtle module to show my nephew the basics of programming. I even got to show him what "refactoring" was, by having the turtle draw a part of the picture and then abstracting that into a function that got called when drawing the whole picture.
- zozbot234 5y agoThis is not really LOGO though, it's just turtle graphics which is discussed in the paper as merely one possible "microworld" for programming. LOGO itself makes a lot more sense than Python as an introduction to computer programming. (It has some real misfeatures, but the paper discusses at least one of them at length - namely dynamic scope, which basically endows each program binding with its own independent "stack", instead of featuring a single stack of activation records as in most programming languages - and concludes that it may make the language somewhat friendlier to newcomers.)
- empressplay 5y agoShameless plug here for our 3D Logo implementation turtleSpaces https://turtlespaces.org https://turtlespaces.org -- Linux / Windows / macOS and now also a WebAssembly version!
- transfire 5y agoJust came across TurtleSpaces the other day. Very impressed.
- azurezyq 5y agoThis is the first programming language I touched. Still missing REPEAT 5[FD 80 RT 144]
- rrherr 5y agoI tried to figure this out with Python on https://colab.research.google.com/#create=true https://colab.research.google.com/#create=true Here's the closest I got, but it's not pretty !pip install ColabTurtle from functools import partial as f from ColabTurtle.Turtle import * initializeTurtle() def repeat(n, *commands): for _ in range(n): for command in commands: command() repeat(5, f(fd, 80), f(rt, 144))
- rrherr 5y agoActually this is better !pip install ColabTurtle from ColabTurtle.Turtle import * initializeTurtle() def repeat(n, *commands): for _ in range(n): for command in commands: fn, *args = command fn(*args) repeat(5, (fd, 80), (rt, 144))
- larsbrinkhoff 5y agoMuch of Logo's history took place at MIT, and the Incompatible Timesharing System was a workhorse for Logo development. Many historical Logo implementations are available for running on ITS on a PDP-10 emulator: - BBN's PDP-10 Logo - CLOGO - PDP-11 Logo - Lisp Logo - Apple II Logo (cross assembled on ITS) http://github.com/PDP-10/its http://github.com/PDP-10/its
- icedata 5y agoLater Logo development took place at several firms, including LCSI in Montreal (I worked there for ten years). Later versions were cross-assembled on Lisp Machines, and later on on Apple IIGS with 4 MB of ram (custom lisp version).