Small Basic: The History of the Logo Turtle


Let’s take a look at where the Small Basic Turtle object came from!

   

Turtle graphics were based on turtle robots, which were used in programming. In 1948, Grey Walter created his first robots, named Elmer and Elsie. People often thought his robots looked and moved like tortoises.

http://media.tumblr.com/tumblr_m41ogptcSC1rpx08t.png

http://2.bp.blogspot.com/-Oxd4RRCuF5o/UY-KhgISNYI/AAAAAAAAAtc/HUWzGb9JjYU/s1600/historia-logo-turtle-01.jpg

 

Years later, in 1967, two MIT professors (in Cambridge, Massachusetts) invented their PDP 1 computer. Kids from schools connected to it from phone lines. They didn’t have monitors, so they wanted the kids to see robotics as the result of the programming. That led to the return of the turtle! Only this turtle was more like R2D2:

http://media.tumblr.com/tumblr_m43bakRVSb1rpx08t.png

 

In order to program for this physical turtle, they created this concept of the display turtle as part of their Logo programming language: 

https://theantiroom.files.wordpress.com/2011/04/logo_turtle.jpg

 

(Logo comes from the Greek word, logos, which means “thought” or “word”. They created the Logo programming language to differentiate that the language is based on words, graphics, and logic, and not just on numbers like most of the contemporary programming languages of that time.)

 

Before long, most modern implementation of Logo Turtle Graphics began to show the cursor as an actual turtle:

http://www.annehelmond.nl/wordpress/wp-content/uploads/2007/11/logo_mit.png

 

And that even extended to the turtle robots as well:

http://gallery.nen.gov.uk/assets/0802/0000/0121/ict_equipment21_mid.jpg

 

Similar to the Small Basic turtle, the Logo turtle included commands for relative movement and turning.

 

Finally, here is what the Turtle looks like in Small Basic:

Here are the methods of the Turtle object in Small Basic:

  • Turtle.X – Gets or sets the X location of the turtle. Setting this property changes the turtle’s horizontal location instantly without leaving any trace or turning its head.
  • Turtle.Y – Gets or sets the Y location of the turtle. Setting this property changes its vertical location without leaving any trace or turning it direction.
  • Turtle.Angle – Gets or sets the angle of the turtle. Setting this property turns the turtle to the new angle.
  • Turtle.MoveTo(x, y) – Turns and moves the turtle to the new location. If the pen’s down, the turtle draws a line as it moves.
  • Turtle.Move(distance) – Moves your turtle a number of steps in its current direction. If the distance is negative, the turtle moves backwards. If the pen’s down, your turtle draws a line as it moves!
  • Turtle.Turn(angle) – Turns your turtle by an angle (in degrees) from its current direction. If the angle’s positive, the turtle turns to its right (clockwise). If the angle’s negative, your turtle turns to its left (counterclockwise).
  • Turtle.TurnRight() – Turns your turtle 90 degrees to its right.
  • Turtle.TurnLeft() – Turns the turtle 90 degrees to its left.

 

See Also:

 

The Small Basic Turtle has taken on a new life in the community! For example…

Nonki puts his turtle to use in a classic shooter, called Turtle Dodger:

 QZN342-4

Here’s a tweet for Turtle Dodger:

https://twitter.com/ptrelford/status/561578647900151808

   

Have a turtle-tastic day!

   – Ninja Ed

Comments (5)

  1. Great article!  Thank you, Ed!

    And this is an awesome news on Twitter about Turtle Dodger!

    twitter.com/…/561578647900151808

  2. litdev says:

    Really interesting blog -thanks.

  3. A.Zaied says:

    good informations Ed.

  4. You're welcome and Thanks!

    UPDATE: I added Nonki's tweet into the blog post and called out the "Turtle Dodger" name better. Plus a little clarity on the grammar.

Skip to main content