logoalt Hacker News

Logo Programming Language

246 pointsby azhenleylast Wednesday at 7:07 AM103 commentsview on HN

Comments

yogsotothyesterday at 5:33 PM

I myself learned programming with logo, at my school when I was 8 or 10. And it was a delight, I am so grateful it existed.

But quite surprisingly, when later during my Ph.D. part of my time was dedicated to give exercises to students. And we used logo instead of the more usual programming languages. And I think it really helped them to really internalise programming a lot better. Typically, the latest exercices introduced recursion which is immediately visible as fractals.

    HIDETURTLE
    
    PENUP
    SETXY -200 0
    RIGHT 90
    PENDOWN
    
    to dragon :degree :size
        setpensize 1
        if :size>5  [setpensize 2]
        if :size>10 [setpensize 3]
        if :size>20 [setpensize 4]
        if :size>40 [setpensize 5]
        ifelse :degree=0 [
            fd :size
        ][
            left  45 dragon (:degree-1) (size/4)
            right 90 dragon (:degree-1) (size/2)
            left  90 dragon (:degree-1) (size/4)
            right 45
        ]
    end
    
    dragon 6 3000

if you want to give a try :)
show 1 reply
imbyesterday at 9:37 PM

For many years, our students[0] have used Logo as an integral part of their math circle-style[1] classes. When we started Wally Feurzeig, one of the creators of Logo, was instrumental in helping us incorporate ideas from Logo into the kind of non-standard problem solving that we were striving for. Turtle geometry is a particularly helpful "instrument of the mind" for exploring dynamic geometry. Our co-founder, Victor Gutenmacher, wrote an incredible book[2] on "geometry in motion," which gave a completely different perspective on geometry from the one seen in school and which our students could explore with the help of Logo. For many of our students, especially those with math anxiety, Logo was what enabled them to overcome that anxiety and discover the joy of thinking and tinkering. Many programmers today have fond memories of getting into programming via Logo, but I would argue that despite the current blistering pace of progress, it remains one of the best and gentlest introductions to problem solving and computational thinking.

[0] https://www.gentleknowledge.com/

[1] https://en.wikipedia.org/wiki/Math_circle

[2] https://www.amazon.com/dp/0817641610

ihumanableyesterday at 2:34 PM

I still remember when we learned logo in elementary school. I had to get my mom to go out and buy a 3.5" disk so I could save my programs.

When I realized that all of logo was actually saved on that disk and I could continue playing with the turtle at home, I was amazed.

Drawing little things, realizing that I was repeating stuff and breaking it into little functions so I could draw them again more easily. I was learning the essentials of programming and didn't even realize it.

show 3 replies
Bankqyesterday at 4:11 PM

I'm forever grateful for having the access to Logo programming in early 90s, as a kid from a 3rd world country, for how it leads to where I am today.

My first ever english word that I can spell out is REPEAT.

show 2 replies
lackoftacticsyesterday at 2:13 PM

I didn't win logo programming competition in polish equivalent of 7th grade and I am still salty about it

show 2 replies
turtlegeometryyesterday at 4:27 PM

This is on top of HN right now, and there is still nobody who has mentioned the fact that the tier-1 book Turtle Geometry <https://direct.mit.edu/books/oa-monograph/4663/Turtle-Geomet...> , is in open access.

Do yourself a favor, and read it today : it is that good. Even though it is quite depressing to see that the revolution in education that the book was predicting in its preface, simply never happened.

show 2 replies
briandwyesterday at 4:17 PM

Logo was created by by Seymour Papert. I highly recommend his book Mindstorms: https://en.wikipedia.org/wiki/Mindstorms_(book) It was written in 1980 but could have mostly been written today. All the same issues with teachers misunderstandings and fear of math and technology and refusal to change to meet the challenges of the age.

show 2 replies
jhbadgertoday at 2:36 AM

Logo is a serious programming language. People maybe only know it as the thing to teach kids programming via turtle graphics, but people like Brian Harvey at Berkley have used it to teach functional programming rather than Lisp or Scheme.

kdavisyesterday at 5:02 PM

Kicked off so many memories...

Early 80's I learned Logo and Basic at a local store that sold Apple computers. It was called "The Logical Choice" and had a classroom tucked away behind a false wall and an English Sheep dog "Sir Isaac Newton" that would hang around the store!

Nice, I just found a story on the store, page 5 of [1].

[1] https://mirrors.apple2.org.za/ftp.apple.asimov.net/documenta...

msarnoffyesterday at 6:49 PM

LCSI LogoWriter for 68k Macs[0] was my shit. It was my first[1] introduction to programming in elementary school and I spent hours trying to make games with it. There were 4 turtles and you could treat them like sprites; you give them custom shapes and colours, and there were basic collision detection primitives. You could also check for collisions with the background by querying the colour under a turtle. You could play and record your own sounds... spent so much time with that little round Apple microphone[2] recording goofy sound effects.

[0] https://www.macintoshrepository.org/6717-logo-writer-2-0

[1] technically I had used the Apple II version a couple times first

[2] https://applerescueofdenver.com/products-page/macintosh-to-p...

zoroboyesterday at 9:04 PM

My favorite logo on macOS is https://www.alancsmith.co.uk/logo/ First dabbled with logo on my apple ][, attracted by turtle graphics like many others.

mschaefyesterday at 3:11 PM

Back in 1983, my elementary school was a part of a Logo pilot program. We had a lab of Commodore 64's that I had free run of (my mom was a teacher there), and it's why I do what I do all these years later.

What I find interesting it that it's not just programming, specifically. Logo is a highly interactive and dynamic language (a relative of Lisp), and that influenced the way I think about writing code. Seymour Papert did a lot for me, albeit highly indirectly.

https://mschaef.com/c64

show 1 reply
corysamayesterday at 2:36 PM

Logo was my introduction to programming. Working on a 1 MHz Commodore64, my masterpiece was a fireworks show that was animated by the fact that the individual drawing commands were so slow you could watch them play out.

So, draw a curve from the ground to the sky. Draw some explosion shape. Change pen color to the sky color. Draw the curve and the explosion again to erase them. Change pen color and start the next firework.

consumer451yesterday at 4:00 PM

Anyone here remember a 1980's Logo-programmable robot that I once used in a TAG program? It had a pen, we would lay it on top of a giant sheet of paper.

It was like a little futuristic tank. I searched for a minute, and I cannot find the exact model. Did I imagine this?

show 3 replies
dofmyesterday at 5:51 PM

Logo is a real surprise if you revisit it as a grown professional. Remarkably elegant language.

thought_alarmyesterday at 4:03 PM

This on-line version of Logo is pretty great: https://www.calormen.com/jslogo/

show 1 reply
Duanemclemoreyesterday at 3:05 PM

When I was seven I wrote my first program. It was in Terrapin Logo and evenly tiled the monitor of my elementary school's Apple IIe with hexagons.

It's been all downhill since.

show 2 replies
kccqzyyesterday at 5:28 PM

As a child, I really enjoyed Logo. It appeared as a sidebar on a math textbook about angles and line segments. I studied it like I studied everything else in the textbook, but I didn’t immediately realize it was a programming language, a means to control a computer. Fast forward a few years in elementary school, when the teacher actually began to teach Logo with all students in front of a computer, it was such a profound revelation for me.

During the second Logo class, the teacher set up a competition. A prize was to be given to the student who could first plot an equilateral triangle, a square, a regular pentagon, a regular hexagon, etc, up to a regular icosagon. I won the prize because I wrote formulas to make the computer do the angle computation. I was so so proud of myself compared to my classmates who were computing angles with pen and paper. It felt like the first inkling of the power of automation.

Hobadeeyesterday at 11:55 PM

I'm not seeing any shout-outs to MSWLogo! I loved being able to create dialog boxes and UIs!

Also, The Great Logo Adventure is a great book for kids learning Logo. It's what I learned with, and it's available as a free PDF now!

nsoldiacyesterday at 4:27 PM

They taught us Logo at school in the early 90s in Lima, Peru. I'll never forget the aha moment of going from "forward 10, left 90" to "repeat 360 [forward 1 right 1]" and bam a circle! They had us bring a formatted 5in floppy disk (they were indeed floppy) to our first class; what was this sorcery?

viliusyesterday at 8:31 PM

It’s 1998, I’m 10, it’s a gloomy autumn morning, in Klaipeda (pop. 200k), Lithuania, eastern Europe. I’m at school. Informatics class. Never touched a computer before.

The computer is running windows 95. The teacher starts Logo and I see that turtle in the middle of the screen. She explains how to make it move.

And I start typing my very first code.

It’s lisp based. Took me 28 years to learn that. Now I think I need to finish the job and pock up lisp.

Havocyesterday at 6:07 PM

Didn't notice it as a kid but Logo is an absolute masterpiece if you think about raw impact on the IT world.

70 comments here and they're basically all positive about Logo being formative

spdustintoday at 1:47 AM

I have fond memories learning about Logo from Mr. Wizard!

animateusyesterday at 2:24 PM

Oh my god - Logo, brings back memories of my childhood and my first "microcomputer": ZX Spectrum +. I spent countless hours trying to force the damn turtle to draw shapes I wanted it to. Unbelievable that this language is still alive.

show 1 reply
haunteryesterday at 3:30 PM

This has to be one of the most widely ported language of them all because there are countless implementations https://en.wikipedia.org/wiki/Logo_(programming_language)#Im...

310 versions!! https://pavel.it.fmi.uni-sofia.bg/logotree/pdf/LogoTree.pdf

show 1 reply
stusmallyesterday at 3:01 PM

Logo started my love of programming. I will always be thankful for it and that little turtle. IIRC there was a limit of 128 stamps in LogoWriter and my sister and I would fight so much about it.

JosephRedfernyesterday at 9:19 PM

I had a great teacher in primary school who introduced us to programming with Logo. We ran a variant called MSWLogo - it was my gateway drug, and how I learned what "paisley" was. Good times!

mococayesterday at 2:17 PM

I learned how to program (& do CAD) with LOGO when I was 8 y'old.

HexDecOctBinyesterday at 3:53 PM

I learnt that I must be good at computers when in 4th grade, despite never having touched a PC before, I not only managed to ace my Logo class but was asked by my teacher to help out other struggling students (I am just realising that essentially made me a TA in our class). I still remember trying to understand the Pen Up and Pen Down commands from a book with no immediate access to a PC to try them on.

timbertyesterday at 4:33 PM

I have fond memories of using Logo on my dad's Apple ][ back in the 80's. Glad to see others feel the same!

show 1 reply
konartyesterday at 10:01 PM

Good old days in my school in Russia. Logo was the first programming language we've been taught back in the 90s.

maxrev17yesterday at 8:31 PM

I used to get in trouble for making it play various noises of increasing hilarity via the inbuilt speaker . Always in bother but learned a lot and lots of fun!

woopervilleyesterday at 2:30 PM

The majority of GenX programmers I know learned logo in the 70s and early 80s. Such a great introductory language.

show 2 replies
Angosturayesterday at 7:18 PM

There was an excellent fully featured version of Logo for the ZxSpectrum that got me hooked.

Came for the graphics, stayed for the recursion and string handling

mariasykkyesterday at 6:00 PM

Logo is in my heart forever. The first PL I was introduced to and made me love programming for life. It was MSW Logo if I’m not mistaken and that turtle was a lot of fun.

deracyesterday at 4:36 PM

One of the first interesting programs I made was LOGO in flash (actionscript) :D It's a great tool for learning basic programming since it's interactive, graphical, and simple.

tshapedrobyesterday at 3:02 PM

Berkeley Logo was one of my first programming languages. The idea of declaring functions with the keyword “to” still feels like a fun and good idea, even though of course it doesn’t matter. Just a different perspective.

Imzadi72yesterday at 5:56 PM

I'm not going to thrash my first programming language, but do "kids" nowadays start with Scratch or something like that?

show 1 reply
invaderyesterday at 6:25 PM

I consider Logo an undeservedly forgotten technology that showed the world a glimpse of what computerized education really is, and Seymour Papert is a misunderstood genius ahead of his time.

The whole point was a very visual way of learning with immediate feedback, where you build stuff in order to understand it.

Papert based his own ideas of constructionism on children's cognitive development theories of Jean Piaget, a famous Swiss psychologist with whom he worked in the 50s - early 60s.

Logo pioneered a whole class of tools and languages built around constructivist ideas (e.g. Ozobot, Scratch, EToy, Processing, Design by Numbers...) and I hope these ideas will not be totally forgotten in the era of slop, when people prize ignorance and no longer seem to appreciate the concept of "build to understand".

juancnyesterday at 3:59 PM

Logo in Spanish in a C128 when I was in third grade started my journey in software.

After a while I was running laps around my teachers and I knew computers were for me.

DonHopkinstoday at 2:11 AM

Lars Brinkhoff suggests that this thread comp.lang.logo with Brian Harvey and Leigh Klotz is required reading:

https://escholarship.org/uc/item/1623m1p3

https://news.ycombinator.com/item?id=36755727

larsbrinkhoff on July 17, 2023 [–]

A list of all Logo memos, with links where I could find them.

https://github.com/pdp11/sits/wiki/List-of-Logo-memos

https://news.ycombinator.com/item?id=28605037

larsbrinkhoff on Sept 21, 2021 | next [–]

Your LLOGO copy was for an older version of Maclisp, but eventually we (Eric and I) managed to port it over to New IO. It works fine and displays on an emulated Knight TV. (Itself a tour de force in emulation: the TV PDP-11 code runs on an emulator sharing its Unibus with the PDP-10 emulator.)

We also have an early PDP-11 Logo, an even earlier BBN PDP-10 Logo, and a later Apple II Logo (not the Terrapin version). I also wrote an emulator for the General Turtle 2500 computer slash terminal.

DonHopkins on Sept 21, 2021 | parent | next [–]

Do you have the specs for the infamous military Terrapin Snapping Turtle proposed to the Department of Defense?

https://dl.acm.org/doi/10.1145/1056602.1056608

https://donhopkins.com/home/TurtlesAndDefense.pdf

>TURTLES AND DEFENSE

>Introduction

>At Terrapin, we feel that our two main products, the Terrapin Turtle ®, and the Terrapin Logo Language for the Apple II, bring together the fields of robotics and AI to provide hours of entertainment for the whole family. We are sure that an enlightened application of our products can uniquely impact the electronic battlefield of the future. [...]

>Guidance

>The Terrapin Turtle ®, like many missile systems in use today, is wire-guided. It has the wire-guided missile's robustness with respect to ECM, and, unlike beam-riding missiles, or most active-homing systems, it has no radar signature to invite enemy missiles to home in on it or its launch platform. However, the Turtle does not suffer from that bugaboo of wire-guided missiles, i.e., the lack of a fire-and-forget capability.

>Often ground troops are reluctant to use wire-guided antitank weapons because of the need for line-of-sight contact with the target until interception is accomplished. The Turtle requires no such human guidance; once the computer controlling it has been programmed, the Turtle performs its mission without the need of human intervention. Ground troops are left free to scramble for cover. [...]

>Because the Terrapin Turtle ® is computer-controlled, military data processing technicians can write arbitrarily baroque programs that will cause it to do pretty much unpredictable things. Even if an enemy had access to the programs that guided a Turtle Task Team ® , it is quite likely that they would find them impossible to understand, especially if they were written in ADA. In addition, with judicious use of the Turtle's touch sensors, one could, theoretically, program a large group of turtles to simulate Brownian motion. The enemy would hardly attempt to predict the paths of some 10,000 turtles bumping into each other more or less randomly on their way to performing their mission. Furthermore, we believe that the spectacle would have a demoralizing effect on enemy ground troops. [...]

>Munitions

>The Terrapin Turtle ® does not currently incorporate any munitions, but even civilian versions have a downward-defense capability. The Turtle can be programmed to attempt to run over enemy forces on recognizing them, and by raising and lowering its pen at about 10 cycles per second, puncture them to death.

>Turtles can easily be programmed to push objects in a preferred direction. Given this capability, one can easily envision a Turtle discreetly nudging a hand grenade into an enemy camp, and then accelerating quickly away. With the development of ever smaller fission devices, it does not seem unlikely that the Turtle could be used for delivery of tactical nuclear weapons. [...]

DonHopkinstoday at 2:00 AM

Logo Adventure for C64 Terrapin Logo

https://medium.com/@donhopkins/logo-adventure-for-c64-terrap...

>When I was 17, Terrapin published my first commercial code on their C64 Logo utilities disk: a Logo Adventure program, a simple non-graphical game that showed off Logo’s list processing and functional programming capabilities. [...]

https://news.ycombinator.com/item?id=23054174

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

spike021yesterday at 4:22 PM

Logo in either elementary or middle school in the early 00's was my first experience writing any code. Good times.

lormaynayesterday at 4:00 PM

I remember one of my professor that created a map of all Italian regions in logo. It was probably 1992.

unluxyesterday at 4:07 PM

this is so nostalgic. I remember going to my School's Computer Lab and trying to draw circles and then later some stars and stuff. so cool

mgkimsalyesterday at 5:50 PM

Logo unit testing supports a mock turtle.

🔗 View 12 more comments