L-システム(コッホ曲線)タートルグラフィック | |
| パラダイム | マルチパラダイム:機能的、教育的、手続き的、反省的 |
|---|---|
| 家族 | リスプ |
| デザイン: | ウォーリー・ファーゼイグ、シーモア・パパート、シンシア・ソロモン |
| 開発者 | ボルト、ベラネック、ニューマン |
| 初登場 | 1967年 |
| タイピングの規律 | 動的 |
| 主な実装 | |
| UCBLogo、その他多数 | |
| 方言 | |
| StarLogo、NetLogo、AppleLogo など | |
| 影響を受けた | |
| リスプ | |
| 影響を受けた | |
| AgentSheets、NetLogo、Smalltalk、Etoys、Scratch、Microsoft Small Basic、KTurtle、REBOL、Boxer | |

Logoは、1967年にWally Feurzeig、Seymour Papert、Cynthia Solomonによって設計された教育用プログラミング言語です。[1] Logoは頭字語ではありません。この名前は、FeurzeigがBolt、Beranek and Newmanに在籍していたときに作ったもので、[2]ギリシャ語のlogos(言葉)に由来し、「言葉」や「考え」を意味します。
汎用言語であるLogoは、タートルグラフィックスの使用で広く知られています。タートルグラフィックスでは、移動や描画のコマンドによって、画面上またはタートルと呼ばれる小さなロボットに線またはベクトルグラフィックスが生成されます。この言語は、 Lispに関連するプログラミングの概念を教えるために考案されましたが、後にPapertが「ボディシントニック推論」と呼んだものを可能にするようになりました。これは、生徒がタートルだったらどうするかを想像することで、タートルの動きを理解し、予測し、推論できるようにするものです。Logoの多くの方言には大きな違いがあり、Logoという名前のタートルグラフィックスプログラムが頻繁に登場することで状況が混乱しています。
Logoは関数型プログラミング言語Lispのマルチパラダイム適応および方言です。[3]標準的なLogoはありませんが、UCBLogoはスクリプト内のリスト、ファイル、I/O、再帰を処理するための最高の機能を備えています[誰によると? ]また、カリフォルニア大学バークレー校の講師ブライアン・ハーベイがComputer Science Logo Style三部作で行ったように、あらゆるコンピュータサイエンスの概念を教えるために使用できます。[4]
Logo は通常はインタープリタ言語ですが、コンパイルされた Logo 方言 (Lhogho や Liogo など) も開発されています。Logo では大文字と小文字は区別されませんが、書式設定の目的で大文字と小文字が保持されます。
歴史
Logoは1967年にマサチューセッツ州ケンブリッジの調査会社Bolt, Beranek and Newman (BBN)でWally Feurzeig、Cynthia Solomon、Seymour Papertによって作成されました。[5]その知的ルーツは人工知能、数理論理学、発達心理学にあります。Logoの最初の4年間は、研究、開発、教育作業がBBNで行われました。Logoの最初の実装であるGhostは、PDP-1上のLISPで書かれました。その目標は、子供たちが言葉や文章で遊ぶことができる数学の世界を作ることでした。[6] LISPをモデルにしたLogoの設計目標には、使いやすい機能[説明が必要]と有益なエラーメッセージが含まれていました。仮想タートル を使用することで、グラフィックプログラミングの即時の視覚的フィードバックとデバッグが可能になりました。
最初のLogoタートルロボットは1969年に作られました。ディスプレイ用のタートルが、物理的なフロアタートルより前にありました。現代のLogoは、最初のタートルより前の基本的なコンセプトからあまり変わっていません。最初のタートルは、無線制御やワイヤレスではなく、つながれたフロアローマーでした。BBNで、ポール・ウェクスルブラットは、タッチセンサーを持ち、前進、後進、回転、ベルの鳴らしができるアーヴィングという名前のタートルを開発しました。Logoが1年間にわたって学校で最初に使用されたのは、1968年から69年にかけてマサチューセッツ州レキシントンのマジー中学校でした。仮想タートルと物理的なタートルは、1970年から71年にかけて、同じ都市のブリッジスクールの5年生によって初めて使用されました。
タートルとグラフィックス

Logo の最もよく知られた機能はタートル (同名のロボットに由来)である[5] 。これは、移動コマンドの出力を表示する画面上の「カーソル」と、小さな伸縮式ペンで構成され、これらを組み合わせて線グラフィックスを生成します。これは伝統的に三角形またはタートル アイコンとして表示されていました (ただし、任意のアイコンで表すことができます)。タートル グラフィックスは、1960 年代後半にシーモア パパートによって Logo 言語に追加され、パパートのバージョンのタートル ロボットをサポートするために使用されました。パパートのバージョンのタートル ロボットは、ユーザーのワークステーションから制御される単純なロボットで、ロボットの本体にセットまたは取り付けられた小さな伸縮式ペンを使用して、割り当てられた描画機能を実行するように設計されています。
実際のところ、従来のモデルの代わりにタートル ジオメトリを使用すると、タートル ロボットの実際の移動ロジックを模倣できます。タートルは、自身の位置を基準としたコマンドで移動します。LEFT 90 は、 90 度左に回転することを意味します。一部の Logo 実装、特に同時実行と複数のタートルの使用を許可する実装では、衝突検出がサポートされており、ユーザーがタートル カーソルの外観を再定義できるため、基本的に Logo タートルはスプライトとして機能できます。
タートルジオメトリは、Logo 以外の環境でも、厳密に座標アドレス指定されたグラフィックスシステムの代替として使用されることがあります。たとえば、タートルグラフィックスの考え方は、フラクタルを生成するLindenmayer システムでも役立ちます。
実装


Logo の最近の派生版では、何千ものタートルが独立して動くことができます。人気のある実装は 2 つあります。マサチューセッツ工科大学のStarLogoと、ノースウェスタン大学コネクテッド ラーニング センター (CCL) のNetLogoです。これらにより、新たな現象を探索することができ、社会学、生物学、物理学、その他の分野での多くの実験が可能です。NetLogo は、生物学および社会科学におけるエージェントベースのシミュレーションで広く使用されています。
合意された標準はないが、言語の中核的な側面については幅広いコンセンサスがある。2020年3月時点で、Logoの実装と方言は308あり、それぞれに長所がある。[8]これら308のほとんどはもはや広く使用されていないが、多くはまだ開発中である。学校で広く使用されている商用実装には、MicroWorlds LogoとImagine Logoがある。
レガシーおよび現在の実装には以下が含まれます。
- 1980年代に初めてリリース
- Logo Computer Systems, Inc. (LCSI) によって開発されたApple II Plus用の Apple Logoと Apple IIe用の Apple Logo Writerは、1980 年代前半から中頃にピークを迎えた、最も広く使用され普及した初期の Logo 実装でした。
- Aquarius LOGO は、1982 年に Mattel 社によってAquariusホーム コンピュータ用のカートリッジとしてリリースされました。
- Atari ロゴは、Atari 社によってAtari 8 ビット コンピューター用のカートリッジとしてリリースされました。
- カラーロゴは、1983年にTandy社からTRS-80カラーコンピュータ用にカートリッジ(26–2722)とディスク(26–2721)でリリースされました。
- Commodore Logoは、 Commodore Internationalによって「学習のための言語」というサブタイトルでリリースされました。これはMIT Logoに基づいており、Terrapin, Inc.によって強化されました。Commodore 64バージョン(C64105)は1983年にディスケットでリリースされ、Plus/4バージョン(T263001)は1984年にカートリッジでリリースされました。[9] [10]
- ExperLogo は、1985 年に Expertelligence Inc. によってMacintosh 128K用のディスケットでリリースされました。
- Hot-Logo は、1980 年代半ばに EPCOM によってMSX 8 ビット コンピュータ向けにリリースされ、独自のブラジル ポルトガル語のコマンド セットを備えていました。
- TI ロゴ ( TI-99/4Aコンピュータ用) は小学校で使用され、初心者プログラマーにコンピューティングの基礎を教えるための Logo の有用性が強調されました。
- 同じく Logo Computer Systems Inc. によって開発された Sprite Logo には、独立したプロセスとして実行できる 10 個のタートルがありました。コンピュータのスロットの 1 つに挿入された Sprite Card の助けを借りて、Apple II コンピュータ上で実行されました。
- IBM は、Logo Computer Systems, Inc. (LCSI) と共同開発した独自のバージョンの Logo (P/N 6024076) を、当時の新製品である IBM PC 向けに販売しました。
- ObjectLOGOは、オブジェクト指向プログラミングの拡張機能と語彙スコープを備えたLogoの変種です。バージョン2.7はDigitool, Inc.によって販売されました。[11] 現在開発もサポートもされておらず、Macオペレーティングシステム7.5以降のバージョンでは動作しません。[12]
- Dr. LogoはDigital Research社によって開発され、 IBM PCjr、[13] Atari ST、Amstrad CPCなどのコンピュータとともに配布されました。[14] [15] [16]
- Acornsoft Logoは1985年にリリースされました。これは8ビットのBBC MicroおよびAcorn Electronコンピュータ向けのLogoの商用実装です。[17]これはAcorn Computers向けにLogoの完全な実装として開発されました。複数のスクリーンタートルと4チャンネルサウンドを備えています。2つの16kB ROMで提供され、ユーティリティとドライバーが付属ソフトウェアとして付属していました。[18]
- 1990年代に初めてリリース
- 1990年2月、Electron UserはTimothy GranthamによるAcorn Electron用のLogoのシンプルな実装を「Talking Turtle」という記事で公開した。[19]
- コメニウスロゴは、コメニウス大学数学物理学部が開発したLogoの実装である。1991年12月に開発が開始され、他の国ではSuperLogo、MultiLogo、MegaLogoとしても知られている。[20]
- LEGOロゴは、コンピュータに接続されたロボットのLEGOブロックを操作できるLogoのバージョンです。 [21] Apple IIに実装され、1980年代後半から1990年代初頭にかけてアメリカやその他の小学校で使用されました。[22] LEGOロゴはScratchの前身です。[23]
- UCBLogoは Berkeley Logo としても知られ、2009 年に最後にリリースされた標準 Logo の無料のクロスプラットフォーム実装です。MIT の George Mills は UCBLogo をMSWLogoのベースとして使用しました。MSWLogo はより洗練されており、無料です。Jim Muller はThe Great Logo Adventureという本を執筆しました。これは完全な Logo マニュアルであり、MSWLogo をデモンストレーション言語として使用していました。[24] MSWLogo はFMSLogoに進化しました。
- 2000年以降に初めてリリース
- aUCBLogo は、 UCBLogoを書き直して強化したものです。
- Imagine Logoは2000年に実装されたComenius Logoの後継です。[25]英語版は2001年にLogotron Ltd.からリリースされました。[26]
- LibreLogo は、LibreOffice の一部のバージョンの拡張機能です。2012 年にリリースされ、Pythonで書かれています。これにより、Writer でベクター グラフィックを記述できるようになります。
- Logo3D は、Logo の 3 次元バージョンです。
- POOL は、2014 年に実装された、オブジェクト指向拡張機能を備えた Logo の方言です。POOL プログラムは、Microsoft Windowsのグラフィカル IDE でコンパイルされ、実行されます。.NET Frameworkをサポートするシステムでは、簡素化されたクロスプラットフォーム環境が利用できます。
- QLogo は、ハードウェア アクセラレーション グラフィックスを使用する、ほぼ完全な UCB 互換性を備えた、オープン ソースでクロス プラットフォームのUCBLogoの書き換え版です。
- Lynx は、Logo Computer Systems Inc. が開発した Logo のオンライン バージョンです。多数のタートルを実行でき、アニメーション、並列プロセス、色、衝突検出をサポートします。
- LogoMor は、JavaScript と p5.js をベースにしたオープンソースのオンライン 3D ロゴ インタープリターです。3D 図面、アニメーション、マルチメディア、3D モデル、さまざまなツールをサポートしています。また、CodeMirrorをベースにしたフル機能のコード エディターも含まれています。
- LbyMはJavaScriptをベースにしたオープンソースのオンラインLogoインタープリターであり、ソノマ州立大学のLearning by Makingプログラム向けに作成され、積極的に開発されています(2021年現在)。[27]従来のLogoプログラミング、カスタマイズされたマイクロコントローラーとの接続、最新のコードエディターとの統合を特徴としています。
影響
LogoはSmalltalkプログラミング言語に最も影響を与えた。また、 Etoys教育用プログラミング環境と言語にも大きな影響を与えた。Etoysは本質的にSqueak (それ自体がSmalltalkの変種)で書かれたLogoの変種である。Logoは、Logoのタートルの概念に似たエージェントをプログラムするためのAgentSheetsとAgentCubesの手順/メソッドモデルに影響を与えた。LogoはBoxerの基礎となる言語を提供した。Boxerはカリフォルニア大学バークレー校とMITで開発され、リテラシーモデルに基づいているため、技術者以外の人でも簡単に使用できる。[28]
KTurtleはLogoをベースにKDE環境向けにQtで実装されたLogoのバリエーションです。 [29]
Logo の影響を受けたもう 2 つの成果は、 Scala の派生であるKojoと、Web ブラウザーで実行される視覚的なドラッグ アンド ドロップ言語である Scratchです。
参考文献
- ^ Abelson, Hal; Goodman, Nat; Rudolph, Lee (1974年12月). 「Logo Manual」.マサチューセッツ工科大学人工知能研究所. hdl :1721.1/6226. 2016年9月11日時点のオリジナルよりアーカイブ。 2016年8月28日閲覧。
- ^ Goldenberg, E. Paul (1982年8月). 「Logo – A Cultural Glossary」. Byte . p. 218. 2013年10月19日閲覧。
- ^ CSLS 第 1 巻、序文 .pxvi、Harvey 1997
- ^ Computer Science Logo Style、Brian Harvey、MIT Press(全3巻)ISBN 0-262-58148-5、ISBN 0-262-58149-3、ISBN 0-262-58150-7。オンラインで入手可能。Wayback Machineで2013-07-04にアーカイブ済み。
- ^ ab "Logo Foundation". el.media.mit.edu . 2011年7月21日時点のオリジナルよりアーカイブ。2011年4月7日閲覧。
- ^ "logothings". logothings.wikispaces.com . 2011年12月7日時点のオリジナルよりアーカイブ。
- ^ ピエトロコーラ、ジョルジョ (2005)。 「タルタペラゴ」。マエクラ。
- ^ 「The Logo Tree Project」(PDF) . elica.net . 2009年3月6日時点のオリジナル(PDF)からアーカイブ。 2020年3月25日閲覧。
- ^ Brain, Jim; Zimmerman, Bo (2017-10-30). 「Commodore 製品の正規リスト」。2017 年 12 月 20 日時点のオリジナルよりアーカイブ。2017年 12 月 3 日閲覧。
- ^ 「Logo – ソフトウェアの詳細」。Plus /4 World。2017年12月4日時点のオリジナルよりアーカイブ。2017年12月3日閲覧。
- ^ オブジェクト ロゴは、Digitool ウェブサイトのWayback Machineページで 2008 年 4 月 30 日にアーカイブされています (2008 年 3 月 4 日にアクセス)
- ^ Digitool ウェブサイトのオブジェクト ロゴ注文ページ (2008 年 3 月 4 日にアクセス)
- ^ 「DRI が Dr. Logo の 128K バージョンを出荷」(PDF)。Micro Notes - Digital Research 製品の技術情報。第 2 巻、第 2 号。米国カリフォルニア州パシフィック グローブ: Digital Research, Inc. 1984 年 5 月。p. 4。NWS-106-002。2020年 2 月 11日にオリジナルからアーカイブ(PDF) 。2020年 2 月 11 日に取得。
[…]
Dr. Logo は、1983 年秋に
IBM PC
向けに初めて小売市場に登場し、
Softsel Hot List
のトップに上り詰めました
。小売リリースには、
システムの電源を入れると自動的に起動する
CP/M
の短縮版である
SpeedStart CP/Mが含まれていました。[…]
[1]
- ^ 「カタログ検索 | コンピュータ歴史博物館」www.computerhistory.org。
- ^ 「Amstrad CPC 6128 - コンピュータ - コンピューティングの歴史」。www.computinghistory.org.uk。
- ^ "es:manual_del_amstrad_pcw_8256_8512_ingles [PcwWiki]". www.habisoft.com。
- ^ フィールド、グラハム (1985)。BBCコンピューターと Acorn Electron のLOGO。マクミラン。ISBN 0-333-39566-2。
- ^ Radburn, Derek. 「BBC Micro の 4 つのロゴ」。The Micro User 教育スペシャル。The Micro User。2012年2 月 20 日閲覧。
- ^ 「Talking Turtle」 1990年2月 20-21頁。2017年3月28日時点のオリジナルよりアーカイブ。
- ^ “Comenius Logoの歴史”. 2002-12-09. 2002-12-09時点のオリジナルよりアーカイブ。2022-10-12閲覧。
- ^ Resnick, Mitchel (1993年7月). 「Behavior Construction Kits」. Communications of the ACM . 36 (7): 64–71. doi : 10.1145/159544.159593 . S2CID 9263998. 2022年1月5日閲覧。
- ^ 「The Laboratory Schools LEGO-LOGO Project」。シカゴ大学実験学校。2011年7月20日時点のオリジナルよりアーカイブ。
- ^ Bull, G.; Garofalo, J.; Hguyen, N. (2020)、「計算的思考について考える: 教育コンピューティングにおける計算的思考の起源」、教師教育におけるデジタル学習ジャーナル、36 (1): 6–18、doi :10.1080/21532974.2019.1694381、S2CID 214563715
- ^ Muller, Jim (2001年11月). 「MSWLogo、教育用プログラミング言語」 . 2022年1月5日閲覧。
- ^ Andrej , Kalas; Blaho, Ivan (2000)。想像してみてください...新世代のロゴ: プログラム可能な画像。OCLC 854959806。
- ^ “Imagine | プレスリリース”. 2001-04-17. 2001-04-17時点のオリジナルよりアーカイブ。2022年10月12日閲覧。
- ^ 「Learning by Making ¦ Make@SSU」. 2017年8月14日. 2022年1月8日閲覧。
- ^ 「Boxer - EduTech Wiki」. edutechwiki.unige.ch . 2024年4月10日閲覧。
- ^ 「KDE 教育プロジェクト – KTurtle」。edu.kde.org。2006年 8 月 27 日時点のオリジナルよりアーカイブ。
さらに読む
- 人工知能へ (1976) Logo が多用されている初期の AI 教科書。(エディンバラ大学の方言 AI2LOGO を使用)
- タートルジオメトリー アベルソンとディセッサ
- Children Designers、Idit Harel Caperton、Ablex Publishing Corporation ISBN 0893917885。オンラインで入手可能
- Learning With Logo、ダニエル・ワット、McGraw Hill、ISBN 0-07-068570-3。Amazonで入手可能
- ロゴを使った教育:学習のためのビルディングブロック、モリー・ワットとダニエル・ワット、アディソン・ウェスリー(現ピアソン)1986年、ISBN 0-201-08112-1 Amazonで購入可能
- 「ロゴ」(PDF) . Byte . 第 7 巻、第 8 号。McGraw-Hill。1982 年。( 1982 年、Logo に関する複数の記事が掲載されたByte誌の特別号)。
