Skip to content

jblang/xlogo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XLogo

screenshot

XLogo is a Logo interpreter written in Java and licensed under the GPL. It has many extensions relative to other Logo implementations, such as networking, sound, 3D, and animation support. It supports nine languages: French, English, Spanish, Arabic, Portuguese, German, Esperanto, Galician and Greek.

Logo is a programming language developed in the 1970's by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. It is an excellent language to begin learning with, as it teaches the basics of things like loops, tests, procedures, etc. Operations on lists and words are also possible.

The user moves an object called a "turtle" around the screen using commands as simple as forward, back, right, and so on. As it moves, the turtle leaves a trail behind it, and so it is therefore possible to create drawings. For example, forward 100 right 90 will first make the turtle move 100 steps forward, and then turn the turtle 90° to the right. This intuitive graphical approach makes Logo an ideal language for beginners, including children.

Reboot

Loïc Le Coq originally developed XLogo until 2012. I (J.B. Langston) came across XLogo in 2022 and tried to contact him but got no response. Sadly, I believe he passed away in 2013. I migrated the original repo to GitHub and started working on some improvements:

  • Fix blurry/pixelated scaling on high resolution displays
  • Make a nice looking themeable UI using FlatLaf
  • Use SVG images for icons, flags, and turtles
  • Replace editor with feature-rich RSyntaxTextArea
  • Update Java3D dependencies to latest versions
  • Fix bugs and improve code quality

This version of XLogo is currently in beta status but is already more usable on modern computers than the original version. It still needs a lot of testing, especially on platforms other than Windows. If you try it out and have any problems, please open an issue. If you want to help, check out the Developer Notes to get started.

Download

Pre-compiled jars available on the Releases page. You can also still download the old version from the XLogo website.

Note: You will need Java 11 or later on your computer to run XLogo. If you don't already have a compatible JRE installed, Adoptium offers free OpenJDK downloads for Windows, Mac, and Linux.

Documentation

Logo Arts

Guy Walker's wonderful Logo Arts website contains many XLogo resources:

XLogo Website

The XLogo website contains extensive documentation. Reference manuals are available in many languages. Some languages and formats may be more up-to-date than others, and some also have tutorials and other resources. Note: none of the manuals have yet been updated to reflect recent user interface changes, but they are still generally applicable.

I have summarized what's available in the table below:

Document English French German Italian Portuguese Spanish Esperanto
Reference Manual (online) English French German Italian Portuguese Spanish Esperanto
Reference Manual (zipped html) English French German Italian Portuguese Spanish Esperanto
Reference Manual (pdf) English French German Italian Portuguese Spanish Esperanto
Examples LogoArts French Italian Portuguese Spanish
XLogo Robotics English Italian Portuguese Spanish
Tutorial (pdf) French Portuguese Spanish
Tutorial (zipped html) Spanish
Introductory Course Spanish
Installation (pdf) English French German Spanish

TeX sources for each language's documentation are available on the XLogo website but have also been added to this repo, if available.

Credits

Developers

  • Loïc Le Coq: Original Developer
  • J.B. Langston: Current Maintainer

Translators

  • Loïc Le Coq: French
  • Kevin Donnely, Guy Walker: English
  • Marcelo Duschkin, Alvaro Valdes Menendez: Spanish
  • El Houcine Jarad: Arabic
  • Alexandre Soares: Portugese
  • Miriam Abresch, Michael Malien: German
  • Michel Gaillard, Carlos Enrique, Carleos Artime: Esperanto
  • Justo Freire: Galician
  • Anastasios Drakopoulos: Greek
  • Marco Bascietto: Italian
  • David Arso: Catalan
  • Jozsef Varga: Hungarian

Third-party