请输入您要查询的百科知识:

 

词条 Logo (programming language)
释义

  1. History

  2. Turtle and graphics

  3. Implementations

  4. Influence

  5. See also

  6. References

  7. Further reading

  8. External links

{{infobox programming language
| name = Logo
| logo = Remi turtlegrafik.png
| logo caption = Example Logo output
| screenshot =
| screenshot caption =
| paradigms = Multi-paradigm: functional, educational, procedural, reflective
| family = Lisp
| designers = Wally Feurzeig, Seymour Papert, Cynthia Solomon
| developer = Bolt, Beranek and Newman
| released = {{Start date and age|1967}}
| typing = dynamic
| implementations = UCBLogo, many others
| dialects = StarLogo, NetLogo
| influenced = AgentSheets, NetLogo, Smalltalk, Etoys, Scratch, KTurtle, REBOL, Boxer
| influenced by = Lisp
}}

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

A general-purpose language, Logo is widely known for its use of turtle graphics, in which commands for movement and drawing produced line or vector graphics, either on screen or with a small robot termed a turtle. The language was conceived to teach concepts of programming related to Lisp and only later to enable what Papert called "body-syntonic reasoning", where students could understand, predict, and reason about the turtle's motion by imagining what they would do if they were the turtle. There are substantial differences among the many dialects of Logo, and the situation is confused by the regular appearance of turtle graphics programs that are named Logo.

Logo is a multi-paradigm adaptation and dialect of Lisp, a functional programming language.[3] There is no standard Logo, but UCBLogo has the best facilities for handling lists, files, I/O, and recursion in scripts, and can be used to teach all computer science concepts, as UC Berkeley lecturer Brian Harvey did in his Computer Science Logo Style trilogy.[4]

Logo is usually an interpreted language, although there have been developed compiled Logo dialects (such as Lhogho and Liogo). Logo is not case-sensitive but retains the case used for formatting.

History

Logo was created in 1967 at Bolt, Beranek and Newman (BBN), a Cambridge, Massachusetts research firm, by Wally Feurzeig, Cynthia Solomon, and Seymour Papert.[5] Its intellectual roots are in artificial intelligence, mathematical logic and developmental psychology. The first four years of Logo research, development and teaching work was done at BBN. The first implementation of Logo, called Ghost, was written in LISP on a PDP-1. The goal was to create a mathematical land where children could play with words and sentences.[6] Modeled on LISP, the design goals of Logo included accessible power{{Clarify |date=March 2008}} and informative error messages. The use of virtual Turtles allowed for immediate visual feedback and debugging of graphic programming.

The first working Logo turtle robot was created in 1969. A display turtle preceded the physical floor turtle. Modern Logo has not changed too much from the basic concepts before the first turtle. The first turtle was a tethered floor roamer, not radio-controlled or wireless. At BBN Paul Wexelblat developed a turtle named Irving that had touch sensors and could move forwards, backwards, rotate, and ding its bell. The earliest year-long school users of Logo were in 1968-69 at Muzzey Jr High, Lexington MA. The virtual and physical turtles were first used by fifth-graders at the Bridge School in Lexington, MA in 1970-71.

Turtle and graphics

{{see also|Turtle graphics}}

Logo's most-known feature is the turtle (derived originally from a robot of the same name),[5] an on-screen "cursor" that showed output from commands for movement and small retractable pen, together producing line graphics. It has traditionally been displayed either as a triangle or a turtle icon (though it can be represented by any icon). Turtle graphics were added to the Logo language by Seymour Papert in the late 1960s to support Papert's version of the turtle robot, a simple robot controlled from the user's workstation that is designed to carry out the drawing functions assigned to it using a small retractable pen set into or attached to the robot's body.

As a practical matter, the use of turtle geometry instead of a more traditional model mimics the actual movement logic of the turtle robot. The turtle moves with commands that are relative to its own position, LEFT 90 means spin left by 90 degrees. Some Logo implementations, particularly those that allow the use of concurrency and multiple turtles, support collision detection and allow the user to redefine the appearance of the turtle cursor, essentially allowing the Logo turtles to function as sprites.

Multiple turtles are supported by MSWLogo, as well as 3D graphics. Input from COM ports and LPT ports are also allowed by MSWLogo through windows GUI. Interrupts can be triggered via keyboard and mouse events. Simple GIF animations may also be produced on MSWLogo version 6.5 with the gifsave command.

Turtle geometry is also sometimes used in environments other than Logo as an alternative to a strictly coordinate-addressed graphics system. For instance, the idea of turtle graphics is also useful in Lindenmayer system for generating fractals.

Implementations

{{see|UCBLogo}}{{Redirect|Apple Logo|the logo of Apple Inc.|Apple logo}}

Some modern derivatives of Logo allow thousands of independently moving turtles. There are two popular implementations: Massachusetts Institute of Technology's StarLogo and Northwestern University Center for Connected Learning's (CCL) NetLogo. They allow exploring emergent phenomena and come with many experiments in social studies, biology, physics, and other areas. NetLogo is widely used in agent-based simulation in the biological and social sciences.

Although there is no one agreed-upon standard, there is a broad consensus on core aspects of the language. As of March 2009 there were 197 implementations and dialects of Logo, each with its own strengths.[7] Most of those 197 are no longer in wide use, but many are still under active development. Commercial Logos that are still widely used in schools include MicroWorlds Logo and Imagine Logo.

  • Apple Logo for the Apple II Plus and Apple Logo Writer for the Apple IIe, developed by Logo Computer Systems, Inc. (LCSI), was the most broadly used and prevalent early implementation of Logo that peaked in the early to mid-1980s.
  • Atari Logo was released on cartridge by Atari for the Atari 8-bit family.
  • Color Logo was released in 1983 on cartridge (26-2722) and disk (26-2721) by Tandy for the TRS-80 Color Computer
  • Commodore Logo was released, with the subtitle "A Language for Learning", by Commodore Electronics. It was based on MIT Logo and enhanced by Terrapin, Inc. The Commodore 64 version (C64105) was released on diskette in 1983; the Plus/4 version (T263001) was released on cartridge in 1984.[8][9]
  • ExperLogo was released in 1985 on floppy by Expertelligence Inc. for the Macintosh 128K.
  • Hot-Logo was released in the mid-1980s by EPCOM for the MSX 8-bit computers with its own set of commands in Brazilian Portuguese.
  • TI Logo (for the TI 99/4A computer) was also used in primary schools, emphasizing Logo's usefulness in teaching computing fundamentals to novice programmers. IBM marketed their own version of Logo (P/N 6024076), also developed by Logo Computer Systems, Inc. (LCSI), for their then-new IBM PC.
  • UCBLogo, also known as Berkeley Logo, is free and cross-platform standard Logo last released in 2009. Subsequently, George Mills at MIT used UCBLogo as the basis for MSWLogo which is more refined and also free. After that, Jim Muller wrote a book, The Great Logo Adventure, which was a complete Logo manual and which used MSWLogo as the demonstration language. It is now out of print, but Jim has released all the files in pdf format. (Check the Logo Foundation website for details.) MSWLogo has evolved into FMSLogo: An Educational Programming Environment.
  • ObjectLOGO is a variant with object-oriented extensions.
  • aUCBLogo a rewrite and enhancement of UCBLogo.
  • Logo3D is a tridimensional version of Logo and can be found at {{SourceForge|logo3d}}.
  • Dr. Logo developed by Digital Research and distributed in computers including the Amstrad CPC.
  • Acornsoft Logo, released in 1985 for the BBC Micro and Acorn Electron.
  • In February 1990, Electron User published Timothy Grantham's simple implementation of Logo for the Acorn Electron under the article "Talking Turtle".[10]
  • Work continues to be done in writing Logo implementations. In 2012, the LibreOffice team developed LibreLogo as an extension to some LibreOffice versions. This Logo is written in Python and allows vector graphics to be written in Writer. At least two web based Logos using Berkeley Logo, HTML5, CSS3 and JQuery can be found.
  • POOL is a dialect of LOGO with object-oriented extensions, implemented in 2014. POOL programs are compiled and run in the graphical IDE on Microsoft Windows. Simplified, cross-platform environment is also available for systems supporting .NET Framework.
  • QLogo is an open-source and cross-platform rewrite of UCBLogo with nearly full UCB compatibility that uses hardware-accelerated graphics.

Influence

Logo was a primary influence on the Smalltalk programming language. It is also the main influence on the Etoys educational programming environment and language, which is essentially a Logo written in Squeak (a variant of Smalltalk). Logo influenced the procedure/method model in AgentSheets and AgentCubes to program agents similar to the notion of a turtle in Logo. Logo provided the underlying language for Boxer. Boxer was developed at University of California, Berkeley and MIT and is based on a literacy model, making it easier to use for nontechnical people.{{citation needed |date=September 2015}}

KTurtle is a variation of Logo implemented at Qt for the KDE environment loosely based on Logo.[11]

Another result of Logo's influence is the Kojo, a variant of Scala and Scratch educational programming language, which runs on Squeak, a variant of Smalltalk, which was inspired by Logo.

In 2015, Cubetto, an education robotics system for children 3 years and older, was developed through crowd-source funding. Cubetto was influenced both by LOGO and by Montessori. Cubetto features a small cubic Turtle that turns only through 90 degrees.[12] Cubetto has been described to be an update of button-box MIT LOGO system TORTIS.[13]

See also

{{Portal|Software|Robotics}}
  • AgentCubes
  • AgentSheets
  • UCBLogo
  • MSWLogo
  • MicroWorlds
  • StarLogo
  • NetLogo
  • LibreLogo a turtle graphics language without full UCB compatibility

References

1. ^{{Cite web |url=https://dspace.mit.edu/handle/1721.1/6226 |title=Logo Manual |last=Abelson |first=Hal |last2=Goodman |first2=Nat |date=December 1974 |website=Artificial Intelligence Lab, Massachusetts Institute of Technology |access-date=August 28, 2016 |last3=Rudolph |first3=Lee |dead-url=no |archive-url=https://web.archive.org/web/20160911020834/https://dspace.mit.edu/handle/1721.1/6226 |archive-date=September 11, 2016 |df=}}
2. ^{{cite news |url=https://archive.org/stream/byte-magazine-1982-08/1982_08_BYTE_07-08_Logo#page/n209/mode/2up |title=Logo – A Cultural Glossary |last=Goldenberg |first= E. Paul |date=August 1982 |work=Byte |access-date=19 October 2013|pages=218}}
3. ^CSLS Vol 1, Preface .pxvi, Harvey 1997
4. ^Computer Science Logo Style, Brian Harvey, MIT Press (3 volumes) {{ISBN|0-262-58148-5}}, {{ISBN|0-262-58149-3}}, {{ISBN|0-262-58150-7}}. Available online {{webarchive |url=https://web.archive.org/web/20130704014342/http://www.cs.berkeley.edu/~bh/ |date=2013-07-04 }}
5. ^{{cite web |url=http://el.media.mit.edu/logo-foundation/index.html |title=Logo Foundation |author= |date= |website=el.media.mit.edu |dead-url=no |archive-url=https://web.archive.org/web/20110721122057/http://el.media.mit.edu/logo-foundation/index.html |archive-date=2011-07-21 |df=}}
6. ^{{cite web |url=https://logothings.wikispaces.com/ |title=logothings |author= |date= |website=logothings.wikispaces.com |dead-url=no |archive-url=https://web.archive.org/web/20111207111525/http://logothings.wikispaces.com/ |archive-date=2011-12-07 |df=}}
7. ^{{cite web |url=http://elica.net/download/papers/LogoTreeProject.pdf |title=The Logo Tree Project |author= |date= |website=elica.net |dead-url=yes |archive-url=https://web.archive.org/web/20090306084150/http://elica.net/download/papers/LogoTreeProject.pdf |archive-date=2009-03-06 |df= |access-date=2008-07-19 }}
8. ^{{cite web |url=http://www.zimmers.net/commie/docs/cbm-products.txt |title=Canonical List of Commodore Products |date=2017-10-30 |access-date=2017-12-03 |last1=Brain |first1=Jim |last2=Zimmerman |first2=Bo |dead-url=no |archive-url=https://web.archive.org/web/20171220005631/http://www.zimmers.net/commie/docs/cbm-products.txt |archive-date=2017-12-20 |df=}}
9. ^{{cite web |url=http://plus4world.powweb.com/software/Logo |title=Logo – Software Details |website=Plus/4 World |access-date=2017-12-03 |dead-url=no |archive-url=https://web.archive.org/web/20171204171250/http://plus4world.powweb.com/software/Logo |archive-date=2017-12-04 |df=}}
10. ^Talking Turtle {{webarchive |url=https://web.archive.org/web/20170328011620/http://www.acornelectron.co.uk/mags/eu/ills/7_05/s-p20.jpg |date=2017-03-28 }} page 20 and 21
11. ^{{cite web |url=http://edu.kde.org/kturtle/ |title=The KDE Education Project – KTurtle |author= |date= |website=edu.kde.org |dead-url=no |archive-url=https://web.archive.org/web/20060827165231/http://edu.kde.org/kturtle/ |archive-date=2006-08-27 |df=}}
12. ^{{cite web |url=https://www.primotoys.com/ |title=Cubetto: A toy robot teaching kids code & computer programming |author= |date= |website=Primo Toys |dead-url=no |archive-url=https://web.archive.org/web/20160902141735/https://www.primotoys.com/ |archive-date=2016-09-02 |df=}}
13. ^{{cite web |url=http://harveycohen.net/oznaki |title=OZNAKI Project |author= |date= |website=harveycohen.net |dead-url=no |archive-url=https://web.archive.org/web/20160820163758/http://harveycohen.net/oznaki/ |archive-date=2016-08-20 |df=}}

Further reading

{{refbegin}}
  • The Great Logo Adventure, Jim Muller, Doone Publications {{ISBN|0-9651934-6-2}}; now out of print; downloadable free of charge in pdf form from The MSWLogo website, along with the freeware MSWLogo program
  • To Artificial Intelligence (1976) Early AI textbook where Logo is used extensively. (Using the Edinburgh University dialect, AI2LOGO)
  • [https://www.amazon.com/gp/product/0262510375 Turtle Geometry] Abelson and diSessa
  • Children Designers, Idit Harel Caperton, Ablex Publishing Corporation {{ISBN|0893917885}}. Available [https://www.amazon.com/Children-Designers-Interdisciplinary-Constructions-Computer-Rich/dp/0893917885/ online]
  • Learning With Logo, Daniel Watt, McGraw Hill, {{ISBN|0-07-068570-3}}. Available Through Amazon
  • Teaching With Logo: Building Blocks For Learning, Molly Watt and Daniel Watt, Addison Wesley (now Pearson) 1986, {{ISBN|0-201-08112-1}} Available through Amazon
{{refend}}

External links

{{Commons category}}{{wikibooks|Logo Programming}}
  • Logo Interpreter
  • papert: logo in your browser
  • [https://steakovercooked.com/Software.Logo Online PHP-based Logo Interpreter]
  • MachineLab TurtleSphere (MaLT) Online LOGO Interprepter with 3D graphics using three.js javascript library.
  • Vlad Tudor's Free Online Logo Interpreter using HTML5, CSS3 and JQuery
  • TurtleAcademy (Learn Logo for free)
  • XLogo4Schools is a revised version of XLogo
  • XLogoOnline is a modern, browser-based programming environment for the primary school. The programming language is a subset of the XLogo dialect. In addition to the online version, offline versions are available for Windows, macOS and Linux.
  • DR Logo at CPCWiki
  • WIN-LOGO 3.0 of a German Author in English and German language
  • POOL is a compiled LOGO dialect
  • QLogo
{{LOGO programming}}{{Lisp programming language}}{{Authority control}}

9 : 1967 in robotics|Dynamically typed programming languages|Educational programming languages|Free educational software|Functional languages|Lisp programming language family|Logo programming language family|Programming languages created in 1967|Robot programming languages

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/23 13:29:20