LibreLogo

Last updated
LibreLogo
Original author(s) László Németh
András Tímár
Initial release27 June 2012;11 years ago (2012-06-27) [1]
Stable release
Same as LibreOffice version
Written in Python-PyUNO
Operating system Linux, Windows
Available inSame as LibreOffice version
Type Integrated development environment, software extension, part of an application
License GPL, LGPL v2.1, and MPL v1.1
Website librelogo.org

LibreLogo is an integrated development environment (IDE) for computer programming in the programming language Python, which works like the language Logo using interactive vector turtle graphics. Its final output is a vector graphics rendition within the LibreOffice suite. It can be used for education and desktop publishing.

Contents

History

Logo toolbar and interpreter was programmed by László Németh, and help with integration was provided by András Tímár. [2] It was released as an extension to LibreOffice before code was merged into LibreOffice 4.2.3.3 main code in 2014. [3]

The lightweight implementation (1,400 lines in Python-PyUNO) uses the embedded Python to give a simplified programming interface to the vector graphics of LibreOffice for graphic design and education (including teaching of word processing). [2]

Installation

LibreLogo is embedded in every version of LibreOffice after 4.2.3.3, released in 2014. It can also be installed as an extension for earlier versions. [4]

Its main UI is a toolbar in Writer (View ▸ Toolbars ▸ Logo). [5]

Usage

Touching the up arrow on the Logo toolbar activates the turtle, then the source code is typed directly onto the same page. The graphic is in Scalable Vector Graphics (SVG) format and can be copied and pasted into other documents.

The syntax of LibreLogo is similar to UCBLogo. It supports the ¨word syntax for strings, the 'word' notation, and importantly, recursion. Commands can be entered in the toolbar, or compiled and run from the Writer page.

Hello world example

Here is a "Hello, World!" program example.

circle 10cm fillcolor 'blue' pencolor 'red' pensize 2 circle 5cm forward 200 right 89 circle 5 repeat 88 [ forward 200 right 89 ] fill repeat 9 [ label 'Hello, World!' right 20 ] repeat 100 [ penup position any pendown pensize random 10 fillcolor any square 20 + random 100 ] 

See also

Related Research Articles

A "Hello, World!" program is generally a simple computer program which outputs to the screen a message similar to "Hello, World!" while ignoring any user input. A small piece of code in most general-purpose programming languages, this program is used to illustrate a language's basic syntax. A "Hello, World!" program is often the first written by a student of a new programming language, but such a program can also be used as a sanity check to ensure that the computer software intended to compile or run source code is correctly installed, and that its operator understands how to use it.

<span class="mw-page-title-main">Logo (programming language)</span> Computer programming language

Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. Logo is not an acronym: the name was coined by Feurzeig while he was at Bolt, Beranek and Newman, and derives from the Greek logos, meaning word or thought.

<span class="mw-page-title-main">PHP</span> Scripting language created in 1994

PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. PHP was originally an abbreviation of Personal Home Page, but it now stands for the recursive initialism PHP: Hypertext Preprocessor.

<span class="mw-page-title-main">Lua (programming language)</span> Lightweight programming language

Lua is a lightweight, high-level, multi-paradigm programming language designed primarily for embedded use in applications. Lua is cross-platform, since the interpreter of compiled bytecode is written in ANSI C, and Lua has a relatively simple C API to embed it into applications.

Befunge is a two-dimensional stack-based, reflective, esoteric programming language. It differs from conventional languages in that programs are arranged on a two-dimensional grid. "Arrow" instructions direct the control flow to the left, right, up or down, and loops are constructed by sending the control flow in a cycle. It has been described as "a cross between Forth and Lemmings".

In computer graphics, turtle graphics are vector graphics using a relative cursor upon a Cartesian plane. Turtle graphics is a key feature of the Logo programming language.

<span class="mw-page-title-main">Visual IRC</span> Open source Internet Relay Chat client

Visual IRC (ViRC) is an open-source Internet Relay Chat client for the Windows operating system. Unlike many other IRC clients, nearly all of the functionality in ViRC is driven by the included IRC script, with the result that the program's behavior can be extended or changed without altering the source code.

Vector Markup Language (VML) is an obsolete XML-based file format for two-dimensional vector graphics. It was specified in Part 4 of the Office Open XML standards ISO/IEC 29500 and ECMA-376. According to the specification, VML is a deprecated format included in Office Open XML for legacy reasons only.

IDL, short for Interactive Data Language, is a programming language used for data analysis. It is popular in particular areas of science, such as astronomy, atmospheric physics and medical imaging. IDL shares a common syntax with PV-Wave and originated from the same codebase, though the languages have subsequently diverged in detail. There are also free or costless implementations, such as GNU Data Language (GDL) and Fawlty Language (FL).

Super Expander 64 is a cartridge-based extension to the built in BASIC interpreter of Commodore 64 home computer. It was published by Commodore Business Machines in 1983. The built-in BASIC of the C64 was adapted from the PET and VIC 20, and the language does not have direct support for the system's sound and graphics hardware. Super Expander 64 adds functions for drawing graphics, using sprites, reading joysticks, playing audio, and other features.

MicroWorlds JR is a computer program using a simplified version of the Logo programming language to teach non-readers or early readers to program in Logo. It was first launched in 2004 by Logo Computer Systems, Inc. (LCSI), and as in their original line of MicroWorlds programs, the object on the screen begins as a turtle and can be controlled with basic commands to make it move. Differing from the Logo syntax developed by Seymour Papert and teams at MIT, MicroWorlds JR uses images to replace the command names, which are selected by the child to create turtle graphics. The turtle object can be given a variety of shapes that act as a costume for the turtle, and therefore lends itself to a variety of animations and creative stories and projects for younger students.

<span class="mw-page-title-main">Cython</span> Programming language

Cython is a superset of the programming language Python, which allows developers to write Python code that yields performance comparable to that of C.

<span class="mw-page-title-main">Scripting language</span> Programming language for run-time events

A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.

<span class="mw-page-title-main">LibreOffice Draw</span> Vector graphics editing software

LibreOfficeDraw is a free and open source vector graphics editor. It is one of the applications included in the LibreOffice office suite, developed by The Document Foundation.

<span class="mw-page-title-main">Ezhil (programming language)</span> Tamil-based language, for education

Ezhil, in Tamil language script, is a compact, open source, interpreted, programming language, originally designed to enable native-Tamil speaking students, K-12 age-group to learn computer programming, and enable learning numeracy and computing, outside of linguistic expertise in predominately English language-based computer systems.

<span class="mw-page-title-main">UCBLogo</span> Logo programming language dialect

UCBLogo, also termed Berkeley Logo, is a programming language, a dialect of Logo, which derived from Lisp. It is a dialect of Logo intended to be a "minimum Logo standard".

<span class="mw-page-title-main">CudaText</span> Open source text editor

CudaText, from Bosnian-Croatian-Montenegrin-Serbian čuda, is a free open source cross-platform native GUI text and source code editor. CudaText supersedes its predecessor SynWrite, no longer under development.

References

  1. "LibreLogo 0.1 (Jun 27, 2012)".
  2. 1 2 "4.0 New Features and Fixes". The Document Foundation. Archived from the original on 2013-03-08. Retrieved 2014-04-29.
  3. "LibreLogo".
  4. "LibreOffice downloads page". 1 May 2014. Retrieved 1 May 2014.
  5. Németh, László (30 April 2014). "Quick Start" . Retrieved 1 May 2014.
Bibliography