Logo changes: The challenge of making a square in modern Logos
I’ve always been a Logo fan. After WIPSCE and my thoughts about the value of resurrecting Logo (see the post), I decided to download some modern Logo implementations and do the classic square.
to square :size repeat 4 [fd :size rt 90] end
The basic square works perfectly fine in Brian Harvey’s Berkeley Logo (see here) — it’s a straightforward implementation from the past. That means that you’re missing more modern and more platform-dependent features (e.g., no sound at all, no networking primitives, etc.).
Next, I tried StarLogo. Took me awhile to figure it out — I had to put the pen down (PD) because it wasn’t by default, and then I had a hard time getting the procedures to work, so I just typed in the code directly. I think I drew a square, but I think I was actually controlling thousands of turtles, because the effect was not at all what I expected.
I then tried NetLogo, which changes turtles from the old days. When you start out, you have no turtles at all. You have to create a turtle, and then you can ask the turtles to do something. I did it, but I didn’t get a square. Or maybe it’s a square but just wrapped around a lot?
The point is that modern Logo implementations were developed for different purposes than older Logo implementations. StarLogo and NetLogo are modeling platforms that support thousands of turtles. That makes it confusing for an oldster like me who wants to do the old things. If we want to be able to use the old curriculum, we’ll have to make some new Logo implementations that work like the old ones but provide the kinds of facilities that we’d want to play with today. Shouldn’t Logo know about the Web? I’d like to be able to manipulate pixels in a picture and samples in a sound — probably no surprise.