The "joke" question Joel asked during podcast #58 made me all nostalgic for Logo, which was the second language I ever programmed in, after Basic, and which is why I never had any trouble with recursion in college.
Are there any implementations of Logo for Windows or Linux (the platforms I can use) or Mac (because I know I'm not alone in this world)? How can I get the Logo programming language for my computer?
I'm teaching my kids LOGO successfully on Windows using Elica LOGO. (Kids ages are presently 12 and 10.)
The package's strengths include many "advanced" extensions, beyond the basic 2-dimensional turtle. These include 3-D graphics and simple hooks into the Windows widget world. (You can create Windows forms with buttons, etc., from within your LOGO code.)
Lacks sound/music capability, at least in version 5.5, and the built-in documentation is extensive, with many advanced examples, but it's not very useful in my opinion--due to its incompleteness, and its having many coding examples that contain errors. (But my kids learn more by finding the errors in the programing samples.)
Fire up a terminal on Mac or Linux, and type python
, then press Return or Enter. Then type from turtle import *
, then Return or Enter. Now type fd(100)
, then Return or Enter. Hooray! Logo with Python! =D (Windows users can install Python here)
Documentation
For a complete list of commands, see the online documentation. Note that the documentation will tell you to type turtle.fd(100)
, rather than fd(100)
, because they chose to use import turtle
, rather than from turtle import *
. The star method is almost always bad, because it makes it possible to confuse your own functions with those in the module, but in this case it is good, because it lets us control the turtle with proper logo commands.
Saving logo functions
Create a file called shapes.py
, and save it somewhere sensible. Add the following code to shapes.py
:
from turtle import *
def square(size):
for i in range(4):
fd(100)
rt(90)
def fun(size):
for i in range (10):
square (size)
rt(36)
Now, whenever you want to do logo, navigate to wherever you saved shapes.py
before running python
. Then, after running python
, run from shapes import *
instead of from turtle import *
. This will import logo along with any custom functions you have defined in shapes.py
. So, whenever you make a cool function, just save it in shapes.py
for future use.
e.g. interactive session (after running python
from the relevant directory):
from shapes import *
square(100)
fun(50)
Cross-platform versions: http://www.mathcats.com/gallery/logodownloadinfo.html
MacOS X specific: http://www.alancsmith.co.uk/
Open-source Logo:
http://sourceforge.net/projects/fmslogo
http://www.rz.uni-augsburg.de/~micheler/en/
UCBLogo is my favorite LOGO implementation, and happens to be available for Windows, UNIX (with X11 support for turtle drawing), and Mac OS X, with outdated ports for DOS and Mac OS 9 as well.
Most Linux distros already have it packaged.
It is also still maintained (thanks to cheap labor students at Berkeley), open-source, and very portable (I've run it on various flavors of UNIX, including Linux, and various processor architectures as well).
UCBLogo comes with a fairly comprehensive standard library and good documentation; the source code for the examples in Brian Harvey's "Computer Science Logo Style" books are also included.
Addendum:
papert - logo in your browser is surprisingly featureful, and seems to work in any modern browser.
KTurtle - http://edu.kde.org/applications/school/kturtle/ is what you need under linux.
for windows version of kturtle visit windows.kde.org
To really recreate the nostalgia, you might try running Logo on an emulated Apple II. You can get images of Apple II disks for Logo here and the AppleWin emulator here.
The best way to teach kids logo now it through TurtleAcademy http://turtleacademy.com . That's a really cool site for starting learning the logo principles and it's free
There is a pure-Python version of Logo available at http://pylogo.org/
Here's a good free one for windows http://www.softronix.com/logo.html
And there's a parellel logo you might look at http://ccl.northwestern.edu/netlogo/
Also, MIT has a good parallel logo called starlogo http://education.mit.edu/starlogo/
http://tortue-logo.fr is a browser version of the logo language. It is developped in javascript with raphaeljs (server side with python/django but the interpreter is running on the client side).
It only makes possible to play with the turtle but it may be enough to remind you good time learning how to program. :) i think it should cover the main commands of the LOGO language.
Currently french and english are supported. The french version of LOGO is different from the english one (commands are translated in french). SO make sure to choose the right language on the site.
I hope you'll enjoy
You can use http://www.logointerpreter.com. It's a web based interpreter using HTML5 and JQuery.
Turtle academy online is a god source for learning and experimenting logo
来源:https://stackoverflow.com/questions/1020890/logo-programming-language-implementations