YF Computer Bookshelf PE01799A.gif (1627 バイト)  ML / Lisp / Scheme  

 

 

プログラミング言語 書籍一覧へ

−解説へ−
s04_044.gif (69 バイト)アルゴリズムとデータ構造
s04_044.gif (69 バイト)コンパイラ
s04_044.gif (69 バイト)プログラミング
s04_044.gif (69 バイト)コンピュータアーキテクチャ

s04_044.gif (69 バイト)データベース
s04_044.gif (69 バイト)コンピュータネットワーク
s04_044.gif (69 バイト)オペレーティングシステム

  s04_044.gif (69 バイト)UNIX
  Solaris
  HP-UX
Webプログラミング

オブジェクト指向
s04_044.gif (69 バイト)グラフィックス
s04_044.gif (69 バイト)ソフトウエア

−書籍一覧へ−
s04_044.gif (69 バイト)アルゴリズムとデータ構造
s04_044.gif (69 バイト)コンパイラ
s04_044.gif (69 バイト)プログラミング
s04_044.gif (69 バイト)コンピュータアーキテクチャ
s04_044.gif (69 バイト)データベース

s04_044.gif (69 バイト)コンピュータネットワーク
s04_044.gif (69 バイト)オペレーティングシステム
  s04_044.gif (69 バイト)UNIX
     Solaris
Webプログラミング
     PHP
    
XML     
オブジェクト指向
s04_044.gif (69 バイト)グラフィックス
s04_044.gif (69 バイト)ソフトウエア
辞典・読み物・その他


    
  

 

関数型言語

関数型言語とは、John. Backusが考案した関数型プログラミングFP(Functional Programmingの略)を関数の組合せによって形成していく言語のことである。

代表的言語として、John. McCarthyが創ったLISP、Robin. MilnerのMLがある。

 

関数型言語の解説本で代表的なものといえば、近代科学社「 関数プログラミング 」(武市正人 訳、原書:Prentice Hall「Introduction to Functional Programming」Richard. Bird/ Philip. Wadler)が、まず挙がる。 本書は、理系の必読書で使用している言語はMirandaで関数言語を学習するのに最適な1冊だ。

 その他の代表的な本を以下に紹介する。

●近代科学社 レクチャーノート/ソフトウェア学シリーズ3巻「 関数プログラミング JSSST91 」日本ソフトウェア科学学会関数プログラミング研究会

本書は、並行動作システムのMirandaによる仕様記述か載っている。

●近代科学社 同シリーズ10巻「 関数プログラミングII JSSST94 」武市正人

本書は、関数プログラミング研究会のワークショップの発表論文集である。

●岩波書店「 プログラミング言語 」武市正人

本書は、ページ数も手頃で一番読みやすい本として有名であり東大では、本書に準拠した授業をしている。言語は、Goferである。

  他に、岩波書店「 計算モデルの基礎理論 」(井田哲雄)・共立出版「 プログラミング意味論 」(横内寛文)・近代科学社「計算論」などが高度ではあるが参考書や教科書としての使用をお薦めしたい。

 

 以上が代表的書籍であるが、ビギナーが入りやすい書籍としてお薦めしたいのが、日本評論社「 関数プログラミング 」(萩谷昌己)である。本書は、Lispを使い学習できる。

 

ここからは、米国で注目されている書籍を2冊ほど紹介しよう。

●「Miranda:The Craft of Functional ProgrammingSimon, Thompson

本書は、プログラミング学習過程の入門を教えるにあたって、Mirandaのような関数型言語がますます必要とされるようになった現在には必携である。プログラミングの経験が少ない人や理数系の生徒に見合ったレベルでMirandaを解説している。プログラム技術の向上・問題解決・よくあるエラーの回避を中心に解説している。

 

●「Haskell:The Craft of Functional Programming, 2/ESimon, Thompson

本書は、関数型プログラミングの初心者や、Haskellプログラミングの入門者のための要点などを記述している。プログラム技術の向上、数多くの例題、プログラム走行のケーススタディはもちろんの事プログラムデザイン、試行、問題解決やよくある落し穴の回避法の助言に重点をおいて解説している。

 

 他に、今後の日本語訳版を期待されている Addison Wesley「Programming Languages:Concepts and Constructs 2/E」Ravi. Sethi 【この著者は、過去にAlfred V. Aho/ Jeffery D. UllmanらとともにAddison Wesley「Compilers:Principles, Techniques and Tools」(訳本:サイエンス社「 コンパイラ 1・2巻 」原田賢一 訳)を執筆した】は、数あるプログラミング言語の比較紹介書籍の中で、一番お薦めの書籍である。本書内では、SchemeとMLが紹介されている。

 

ML言語

Robin. Milner氏の提唱した関数型言語で、著書にMIT Press「The Definition of Standard ML」Robin. Milner/ Mads. Tofte/ Robert. Harper/ David. MacQueen が米国でベストセラーになっている。他に、MIT Press「The Little MLerDaniel P. Friedman / Matthias, felleisenがある。

  現在も、MLは重要度を極めている関数プログラム言語のうちのひとつで、米国はもとより他の国々の多くの教授が、プログラミングの原理やプログラミング言語を教えていく上でMLを使用しているにも関わらず、日本では読者の数はあまりにも少なく寂しいほどである。

  MLは、洗練されて良く表現されているモジュールシステムを提供しているという理由からソフトウェアエンジニアのための自然言語にも登場してくる。解説書としてスタンダードなものにPrentice Hall「Element of ML Programming」Jeffrey D. Ullmanがある。訳本のアスキー「 プログラミング言語ML 」(神林靖 訳)を是非お薦めしたい。

 

Lisp言語

1950年代MITのJohn. McCarthy氏が考案した関数言語で、1984年にLisp の方言的なんものを取り除き標準化を目的としたCommon Lispができた。言語としては、古い言語のひとつに上げられる。用途としては、人工知能分野で使用されているが、単純な言語で初心者にも容易にプログラミングが出来る、と言っているが初心者のレベルが問題だ。

  まず、ビギナーが入りやすいものに、サイエンス社「 はじめての人のためのLisp 」(竹内郁雄)がある。

本書は、雑誌Computer Today」創刊から2年半の連載をまとめたものだ。しかし、本書の前書きにもあるが2年半も読み続けていれば、もはや初心者ではないとか、Lispの処理系が使えて分かる人がそばに居ればよいなど、おもしろいことが書いてあった。

  定評のあるサイエンス社「 これがLispだ! 」(玉井 浩 訳、原書:Addison Wesley「Essential Lisp」John R. Anderson/ Albert T. Corbett/ Brian J. Reiser)が入門書として最適だ。

  上記2冊のLisp解説本は、両方とも骨太本である。

 

他に、培風館「 Lisp(原書第3版)全2巻 」(白井良明・阿部憲広・井田昌之 共訳、原書:Addison Wesley「Lisp 3/E」Patrick H. Winston/ Berthold K P. Horn)がある。 本書の、洋書はよく売れた記憶があるが、訳本はよく売れたという記憶がない。値段に問題があるのか?

  Common Lispは、岩波書店「 Common Lisp入門 」(湯浅太一・萩谷昌己 共著)をお薦めしたい。もう一冊の共立出版「 Common Lisp第2版 」(井田昌之 翻訳監修、原書:Digital Press「Common Lisp: the Language 2/E」Guy L. Steele Jr.)は、値段が高いの一言に尽きる。

 

Lispの学習言語Scheme  

以前は、The Little LISPer」として知られていたこの「The Little Schemerと、これの新しい姉妹本「The Seasoned Schemer」のセットは、他のLISP解説本と一線を引いている。その理由として、・著者たちは、プログラミング言語Schemeを使いそれらの抽象的考えを説明している。・The Little LISPerは、長年にわたって人気のある解説書として世界中に紹介されている。・英語圏以外では、フランス語版と日本語版が出版されている。その日本語版は、マグロウヒル「 Schemeの手習い:直感で学ぶLisp 」(元吉文男訳)で出版されていた。当時は、和書・洋書ともよく売れたが、現在マグロウヒルは、なくなり絶版となった。【その日本語版で思い出すのは、なんと言っても原本の表紙のイラストをそのまま使用していたところがユニークで評判がよかったということである。訳者の元吉文男氏は、マグロウヒル「 プログラムの構造と実行 上巻・下巻 」の著者でもある。(現在、ピアソンから「 計算機プログラムの構造と解釈 」(和田英一訳)が出版されている。原著は,MIT Press「Structure and Interpretation of Computer Programs 2/E」 by Harold Abelson, Gerald Sussman, Julie Sussman共著。)本書とピアソン・エデュケーション「 プログラミング言語Scheme 」(村上雅章 訳、原書:Prentice Hall「The Scheme Programming Language:ANSI Scheme 2/E」Kent R. Dybving)はANSI準拠なので中級者向けの教科書として最適だ。】

The Little Schemer」と「The Seasoned Schemer」は、「The Little LISPer」の後継にふさわしい作品であると同時に、コンピュータ科学における完全解説の講義テキストとして、最適である。

  その「The Little LISPer」の第3版、 MIT Press「Little Lisper, Third Edition」Daniel P. Friedman / Matthias, Felleisen共著  は、稀少本である。 なぜなら、出版社の方に注文があり次第、増刷するという珍しい作品である。 印刷の質は、正規のものと異なるが間違いなく原書からコピーしたものである。 現在でも、解説書として欠かせないものとして挙げられる。

最近では・・・ 

 現在日本では、2000年6月頃に出版されたアスキー「 リスト遊び:Emacsで学ぶLispの世界 」(山本和彦)がコンスタントな売れ行きを見せている。フリーソフトの世界で注目のLispを習得しよう。 GNU Eamcs Lispは、後日ご案内します

(01/02/19更新)

 

ページの先頭へ

 

 

解説文中にある本のタイトルをクリックするとその本の詳細を見ることができます。(一部書籍を除く。)詳細ページからこのページにもどる際には、ブラウザの戻るボタンをご利用ください。