[ロゴ] ロゴスについて

ロゴスは、簡易なプログラミング環境です。 将来的には、wija 本体やプラグインの動作を、 ユーザが簡単に制御できるような スクリプティングのための環境を提供することを目指しています。

現在、ロゴスは、MIT によって開発された、 クリケットという小型コンピュータのためのプログラミング環境 (言語: Cricket Logo) を提供します。 クリケットとロゴスは、 SOI (School of Internet) にて公開されている、 慶應義塾大学湘南藤沢キャンパス 2005年度授業 「プログラミング入門」 (担当: 斉藤賢爾) の教材として用いられています。

ロゴスとは、 もともとは人々の話す「ことば」の意味で、「概念」「意味」「論理」ですとか、 あるいは「実体化されて世界を支配する理法」という意味を持ちます (広辞苑第五版)。

◎なぜ、ロゴスは必要なのか

クリケットを用いるプログラミング環境として、 MIT から提供されているソフトウェアにはふたつあります。 ひとつは視覚的プログラミング環境 (LogoBlocks) で、 もうひとつは Logo 言語をそのまま使う環境 (Jackal) です。

どちらにも問題があるのですが、LogoBlocks は何とか使えるのに比べて、 Jackal の品質が低いことが、実際に授業で問題となりました。 "2+5" を "2 + 5" のように空白を入れて書かないとエラーになるなど、 正しいプログラムに対してエラーを返すことがあるため、教育用としては致命的です。 また、エラーメッセージが大雑把すぎて、 初心者が自分で問題の在処を突き止めて解決できるほど十分には エラーの箇所や理由が示されないという問題もあります (それは LogoBlocks でも同じですが、 LogoBlocks ではそもそも、人間はあまり間違えません)。

これらの問題を含め、ロゴスは次のような問題を解決するべく設計されています (クリケットの ROM に書かれてしまっている等の理由で、 解決できないものもあります)。

Jackal の問題点
  • Logo 言語で書かれたプログラムの構文解析が正しくない。
  • 改行コードの読み込みが正しくない (Macintosh 版)。
LogoBlocks の問題点
  • プログラムに関する情報 (著者や説明など) を正しく読み込めない。
  • 注釈に日本語を使えない。
共通の問題点
  • 反復の一般形 (while) を使えない。
    • この問題点は、クリケット上のスタックマシンで while を利用できないため、 完全には解決できません。
  • エラーメッセージが大雑把すぎて、エラーの箇所や理由を十分に示さない。
  • 配列を使ったときの動作が仕様通りでない。
    • この問題点も、クリケット上のスタックマシンに起因する問題のようです。

◎Logo 言語について

Cricket Logo は Logo 言語の方言です。

Logo 言語は MIT で開発されたプログラミング言語で、 初心者でも扱いやすいように設計されています。 Lisp というプログラミング言語を元にしています。 Lisp はとても強力な言語として知られ、 難しいことを簡単に表現できて、かつ、いろいろなことを表現できます。 Logo はこども向けということで、過小評価されることが多いようですが、 実は同様に強力な言語です。

Logo 言語でのプログラミングを追求したい人向けには、 カリフォルニア大学バークレィ校の Brian Harvey博士 が開発/執筆した、 UCB Logo を用いた "Computer Science Logo Style" がお奨めです。