魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

Prolog 初心者があそびにきました

実に久しぶりに 2ch を見ていたら「Prolog 初心者があそびにきました」という書き込みがあった。

① 日本語の通る無料の処理系
② 初心者向けチュートリアル
③ 初心者向けおすすめ書籍(いまでも容易に手に入るもの)

f:id:fxrobot:20140112010153p:plain

..について教えてほしいという書き込みだ。

ぼくは、これはいい書き込みだ!と思ったが、反応はなかったようだ。

まっ、つまりは、既によく分かっている者が集まっていたのだろう。

 ぼくは、これから1年ほどを掛けて Prolog に精通していこうとする者だ。つまり、今はまだ初心者というか、あるいは入門者というべきか。

それでね、30年近く前に読んだ(つもりの)本がわかったのだ。そして手に入れた。
それがこれだ!(ちょっと大げさだな)

f:id:fxrobot:20140112013246j:plain

 「Prolog のソフトウェア作法」という本のなかで、定評のある入門書と紹介があったので、アマゾンの中古本で調べて注文したのだ。

手に取って見てみたら、なんと懐かしいことか。これだよ、これ。なかを見れば、確かに黒と緑の2色刷だ。

当時のぼくは、これを読んで理解したのかできなかったのか、途中で投げ出したのか記憶がない。しかし、今眺めてみると、入門者にとっては良書であることは間違いないように思える。

ちなみにこの本の当時の定価は 6,000円。現在、アマゾンの古書として 1,400円(送料別)ほどで 購入できる。早い者勝ちだ。その他、この当時の Prolog の流行のせいか、入門書の数はかなり多い。

アマゾンで調べると入門書には 1円とか 100円とかいう値段の本もある。また、結構いい値段の付いているものもあるが、内容に比例しているとばかりもいえないように思う。

この機会にぼくは Prolog 入門書のコレクターになりつつあるようだ。今のぼくのレベルよりも低い内容の本も手に入れようとしているのだ。なんのため? 先々人に教えるためだ。それで、いろいろ取り寄せてみると、隠れた良書といえそうなものもあるように思う。もう少し時間をもらって読ませてもらいたい。その結果についてはまたこのブログで書かせてもらうつもりだ。

さて、最初に戻ろう。「① 日本語の通る無料の処理系」については、SWI-Prolog と YAP がちょっと抜けているだろうが、ドキュメントがほぼ英語だけだ。SWI-Prolog の日本語情報をぼくも探してみたが、日本語で得られた情報はほんの少しだけ。ぼくは英語で読む腹を決めているが、それが嫌な人は、AZ-Prolog がよいと思う。

AZ-Prolog は個人使用は無料だ。マニュアルも日本語で入門的なことも書いている。そして、日本語も問題なく通るので日本語のアプリケーションを開発することも可能だ。ただし、開発したアプリケーションを配布するとなるとランタイムライセンスが有料なので気をつけなければならない。
-------------------------------------------------------------------------------------------------------------

① 日本語の通る無料の処理系
   1.  AZ-Prolog    http://www.az-prolog.com/
   2.  SWI-Prolog  http://www.swi-prolog.org/

② 初心者向けチュートリアル
   1.  AZ-Prolog マニュアル http://www.az-prolog.com/manual/
   2.  お気楽 Prolog プログラミング入門 http://www.geocities.jp/m_hiroi/prolog/
   3.  Prolog オンラインテキスト http://light21.s26.xrea.com/prologV2/contents.html
   4.  初級 Prolog 講座 http://tutorial.jp/prog/prolog/prolog.pdf
   5.  Prolog ウィキペディア http://ja.wikipedia.org/wiki/Prolog

③ 初心者向けおすすめ書籍(いまでも容易に手に入るもの)
   1.  Prolog プログラミング C.S.Mellish (著), 中村 克彦 (翻訳)
   2.  その他の入門書については今後調査してお知らせしたい

-------------------------------------------------------------------------------------------------------------

Prolog を習得するという目的のための、現時点の結論としては、C.S.Mellish の翻訳本を読み、AZ-Prolog マニュアルを読みながら、実際に AZ-Prolog を使って実戦するという方法が一番よいように思う。

【 AZ-Prolog の実行画面 】

f:id:fxrobot:20140108214611j:plain

なお、英語が得意な人は、最初から SWI-Prolog に取り組むのがよいかもしれない。
今回の記事が Prolog に向かう人(同志だね)の参考になれば幸いです。

あとね、もうご承知のとおり、ぼくは 2014年の本年、PrologScheme に力を入れる予定だ。その副産物として、他の初級者、入門者のための情報を整備できればと思っている。自分が習得するだけではなく、他の人々も巻き込みたいのだ。ぼくったら覚える前から上から目線なのだ。:P   まぁ、情報提供という形で人の役に経ちたいのだからかわいいもんだ。

もちろん、ぼくには PrologScheme を年金ロボットの開発やウェブページ制作の自動化に役立てたいという目標がある。今、Prolog の入門書を読んでいるぼくがだ(笑)。

ただし、ぼくにはロジックを学んだという経歴がある。独学だけどね。前原昭二氏や竹内外史氏にはその著書を通してずいぶんお世話になった。その流れで「Prolog プログラミング C.S.Mellish (著), 中村 克彦 (翻訳)」などを読んでいたと思うのだが、その辺りは記憶喪失状態なのだ。

バックトラック、ユニフィケーション、カットオペレータという程度の用語だけが頭に残ってたという状態。ゲイシャ、フジヤマ、スキヤキと連呼する対日本初級者の外人状態といえる。

これからの1年で、そこそこの Prologist(そんなふうにいうだろうか?運送屋になっちゃうか)になってやろうじゃないか。さては自分を追い込む気だな。そうね、だいぶ風呂敷を広げたから、あとは寡黙に進むとしよう。

では、ご機嫌よう。