
Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon.[1] 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 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 compiled Logo dialects (such as Lhogho and Liogo) have been developed. Logo is not case-sensitive but retains the case used for formatting purposes.
Logo は 1967 年にマサチューセッツ州ケンブリッジの研究会社Bolt, Beranek and Newman (BBN)でWally Feurzeig、Cynthia Solomon、Seymour Papertによって作成されました。[ 5 ]その知的ルーツは人工知能、数理論理学、発達心理学にあります。Logo の研究、開発、教育の最初の 4 年間は BBN で行われました。Ghost と呼ばれる Logo の最初の実装は、PDP-1上でLISPで記述されました。目標は、子供たちが言葉や文章で遊べる数学の世界を作ることでした。[ 6 ] LISP をモデルにした Logo の設計目標には、アクセスしやすいパワーと分かりやすいエラー メッセージが含まれていました。仮想タートルを使用することで、グラフィック プログラミングの即時の視覚的フィードバックとデバッグが可能になりました。
最初の動作するLogoタートルロボットは1969年に作られました。ディスプレイ用のタートルが、実際に床を歩くタートルに先立って作られました。現代のLogoは、最初のタートル以前の基本的なコンセプトからそれほど大きく変わっていません。最初のタートルは、無線制御やワイヤレスではなく、床を歩く有線式のロボットでした。BBNで、ポール・ウェクセルブラットは、タッチセンサーを備え、前進、後退、回転、ベルを鳴らすことができるアービングという名前のタートルを開発しました。Logoを1年間学校で使用した最初の例は、1968年から1969年にかけて、マサチューセッツ州レキシントンのマジー中学校でした。仮想タートルと物理タートルは、1970年から1971年にかけて、同じ都市のブリッジスクールの5年生によって初めて使用されました。

Logo の最もよく知られた機能はタートル (元々は同名のロボットに由来) です。[ 5 ]画面上の「カーソル」で、移動コマンドの出力を表示し、小型の格納式ペンと組み合わせて線画を生成します。従来は三角形またはタートルのアイコンとして表示されていましたが (任意のアイコンで表現できます)、タートル グラフィックスは 1960 年代後半に Seymour Papert によって Logo 言語に追加されました。これは、Papert 版のタートル ロボットをサポートするためで、ユーザーのワークステーションから制御されるシンプルなロボットで、ロボット本体に組み込まれたり取り付けられたりした小型の格納式ペンを使用して、割り当てられた描画機能を実行するように設計されています。
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.
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.


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 agreed-upon standard, there is a broad consensus on core aspects of the language. In March 2020, there were 308 implementations and dialects of Logo, each with its own strengths.[8] Most of those 308 are no longer in wide use, but many are still under development. Commercial implementations widely used in schools include MicroWorlds Logo and Imagine Logo.
Legacy and current implementations include:
Logo はSmalltalkプログラミング言語に大きな影響を与えました。また、 Etoys教育用プログラミング環境および言語にも大きな影響を与えており、Etoys は基本的にSqueak (それ自体が Smalltalk の派生言語) で書かれた Logo の派生言語です。Logo はAgentSheetsおよびAgentCubesのプロシージャ / メソッド モデルに影響を与え、 Logo のタートルの概念に似たエージェントをプログラミングできるようにしました。Logo は Boxer の基盤となる言語を提供しました。Boxer はカリフォルニア大学バークレー校と MITで開発され、非技術者でも使いやすくするためにリテラシー モデルに基づいています。[ 30 ]
KTurtleはLogoをベースに、 KDE環境向けにQtで実装されたLogoの派生版である。[ 31 ]
Logoの影響を受けたもう2つの例として、Scalaの派生言語であるKojoと、Webブラウザ上で動作するビジュアルなドラッグ&ドロップ言語であるScratchが挙げられる。
[…]
Dr. Logoは1983年秋に
IBM PC
向けに初めて市販され、
Softsel Hot List
のトップに躍り出た
。市販版には、
システムの電源を入れると自動的に起動する
CP/M
の短縮版である
SpeedStart CP/Mが含まれていた。[…]