ぶっくれびゅぅ
コンピュータと計算機数学への入門書 2005 年 4 月 Version 0.9α 講義配布用縮小版 コンピュータや計算機数学を学ぶ上で「良い本」を読むことは数学以上に重要な意味を持ちます. 特に「コン ピュータ」を勉強する際の本は極めて大量のものが出版されていますが, 「単に使えればよい」というスタイル で書かれたものが数多く存在しています. ここでは, コンピュータの初心者や計算機科学を勉強しようとする初学者にとって有用な本などをいくつか紹 介します. しかし, ここに掲載されているもの全てを勉強することは大変であり, 目的に応じて適切な本をこの 中から選択する必要があります. また, 「有用な本」だけではなく, いくつかは「読むべきではない」本も, 「ダ メダメな本」の例として挙げてあります. もちろん, 「有用な本」はここに挙っているもの以外にも数多く存在 しますし, 「ダメダメな本」もそれ以上に多く存在しているので注意が必要です. なお, 現時点では「レビュー」が間に合わなかったり, いい加減に書いてあるものもありますし, 計算機科学の いくつかの入り口に相当する部分や, C 言語以外のプログラム言語, コンピュータのシステムに関する書籍は掲 載されていません. (今後, 内容が充実していく予定です)凡例
各書籍に関する情報として以下のものが掲載されています. • 題名・著者名・出版社・ISBN 番号 (再版されているものは ISBN 番号が異なる可能性があります。) • 価格 (手元にある現物からのものなので, 現在の価格とは異なっている可能性があります) • 推薦度 ★ おすすめ度(0個∼5個) 非おすすめ度(0個∼5個) 難解度(0個∼5個) 「非おすすめ度」がついていない限り「おすすめ」する本であることには間違いはありません. なお, 最新版(全文献掲載版)は講義の WEB ページで随時アップデートされています.コンピュータリテラシ
[1]情報ってなんだろう
★★★ 徳田 雄洋 (著) 岩波書店 ISBN 4-00-116340-3 もともと中学生向けに書かれた情報科学の入門書シリーズの一冊. 「中学生向け」と言っ ても, 難しい数学が出てこないだけで, 内容は非常に充実している. (内藤) [2]計算機科学入門
★★★L. Goldschlager and A. Lister (著) 武市 正人, 小川 貴英, 角田 博保 (訳)
近代科学社 1987年刊 2,600円+税 ISBN 4-7649-0284-2 計算論, ハードウェア, オペレーティングシステムなど, 計算機科学・情報工学の初歩的 内容に対する入門書. 内容は初歩的だが, 重要なテーマに対してきちんとしたアプローチが とられている. (内藤) [3]
電子情報通信と数学
大石 進一 (著) 電子情報通信学会 1998年刊 2,700円+税 ISBN 4-88552-149-1 現実の電子情報通信で利用されている数学をテーマに沿って解説したもの. 元々は電子 情報学会の機関誌に連載されたもの. (内藤) [4]テキストファイルとは何か?
★★ — 知らぬでは済まぬ電脳社会の常識— 鐸木 能光 (著) 地人書館 2001年刊 1,800円+税 ISBN 4-8052-0680-2 コンピュータで正しくテキストを扱いましょうという啓蒙的意味合いの強い本. ちょっと 問題のある部分もあるので全部を鵜呑みにするのはよくないが, かなり参考にはなる. (久保) [5]コンピュータユーザのための著作権&法律ガイド
★★★ — CD バックアップからホームページ作成まで, 身近な著作権の疑問を解決!— プロジェクトタイムマシン (著) 毎日コミュニケーションズ 2002年刊 1,800円+税 ISBN 4-8399-0793-5 見た目に反して極めてマジメな著作権に関する解説本. この手の類の本は, 必要であるに も関わらず選択肢が意外と少ない. (久保)UNIX
[1]たのしい UNIX
★★★ — UNIX への招待— 坂本 文 (著) アスキー出版局 1990年刊 1,937円 ISBN 4-7561-0785-0 初心者向けの UNIX 解説本の定番. マニュアル的な本を読むのに慣れていない人にはお薦 め. 内容は主に UNIX を使う上での最低限の知識と, いくつかの基本コマンド群の解説. (久保) [2]続・たのしい UNIX
★★★ — シェルへの招待— 坂本 文 (著) アスキー出版局 1993年刊 1,937円 ISBN 4-7561-0789-3 初心者向けの UNIX 解説本の定番. マニュアル的な本を読むのに慣れていない人にはお 薦め. 「たのしい UNIX」の続きとしてが, さらに快適に作業するための UNIX 的テクニッ クを紹介してある. (久保)C
言語
[1]プログラミング言語 C
★★ — UNIX 流プログラム書法と作法—B. W. Kernighan and D. Ritchie (著) 石田 晴久 (訳)
共立出版 1981年刊 2,500円 ISBN 4-320-02145-2
C 言語のバイブル K&R の日本語訳. ANSI 規格準拠ではない古い C (traditional C) の本.
既に絶版. ANSI C を習得したら読んでみると違いが判って面白い. (久保)
[2]
プログラミング言語 C 第 2 版 ANSI 規格準拠
B. W. Kernighan and D. Ritchie (著) 石田 晴久 (訳)共立出版 1989年刊 2,718円+税 ISBN 4-320-02483-4
ANSI 規格準拠となった「ANSI K&R」の最初の日本語訳. 日本語訳がひどいので、安
いからといって古本屋で買ってはならない. (久保)
[3]
プログラミング言語 C 第 2 版 ANSI 規格準拠 (訳書改定版)
★★★★ B. W. Kernighan and D. Ritchie (著) 石田 晴久 (訳)共立出版 2,940円 ISBN 4-320-02692-6
ANSI 規格準拠となった「ANSI K&R」の日本語訳の訳書改定版. 旧訳に比べれば随分 マシになったものの多少解りずらい部分が残っている. 最終的には原書をあたるべし. 初期
[4]
The C Programming Language, 2nd edition
★★★★★ B. W. Kernighan and D. Ritchie (著)Prentice-Hall ISBN 0-13-110362-8 C 言語のバイブル. 通常「ANSI K&R」と略す. 日本語訳は判りずらい部分もあるので、 そういうときはこちらを読む. 今は安く買えるのでぜひ買うべし. (久保) [5]
C
実践プログラミング 第 3 版
★★ S. Oualline (著) 望月 康司, 谷口 功 (訳) オライリージャパン 1998年刊 4,500円+税 ISBN 4-900900-64-8 C 言語の解説書の中では, K&R を除くと, 数少ない良書. 初心者が読むには難しいかも しれない. (内藤)[6]
The C Puzzle Book
★★ A. R. Feuer (著) Addison-Wesley 1998年刊 ISBN 0-201-60461-2 C 言語の初心者が間違えやすいところを「パズル」的な例題を通じて解説した有名な本. この例題に回答できなければ C をわかったとは言わない. 内容は一読に値する. (最近日 本語訳が出ているらしい) (内藤) 情報工学シリーズ [7]C
プログラミング FAQ
★ — C プログラミングのよく尋ねられる質問— S. Summit (著) 北野 欽一 (訳) 新紀元社 2004年刊 3,600円+税 ISBN 4-7753-0250-7 ネットワークニュースグループ comp.lang.c に投稿された, C 言語に関する「よくある 質問」 (Frequency Asked Questions) をまとめた本. 誰もが「わからない」と思う内容がコンパクトにまとめられている. (内藤)
プログラミング全般
[1]
プログラミング作法
★★★★B, Kernighan and R. Pike (著) 福崎 俊博 (訳)
アスキー出版局 2000年刊 2,800円+税 ISBN 4-7561-3649-4
プログラムとは「単に動けばよい」という考え方を完全に否定し, どのようなものがわか りやすくよいプログラムかを多くの例を通じて丁寧に解説したもの. 細かい内容も重要だ が, ここに書かれた主旨を理解することが極めて重要な意味を持つ. 「プログラム書法」が
[2]
プログラム書法 第 2 版
★★★★B. Kernighan and P. J. Plauger (著) 木村 泉 (訳)
共立出版 1976年刊 2,400円+税 ISBN 4-320-02085-5
「The Elements of Programming Style」の日本語訳. 「プログラム作法」と同じ主旨で 書かれている. (こちらがオリジナル)しかし, Fortran, PL/I などの言語で例が挙げられ ているため, C 言語だけしか知らない人には敷居が高いかもしれない. (内藤) コンピュータ・サイエンス研究書シリーズ40 [3]
アルゴリズム
+ データ構造 = プログラム
★★★★★ N. Wirth (著) 片山 卓也 (訳) 日本コンピュータ協会 1979年刊 6,000円+税 Pascal の作者である Wirth による基本的なアルゴリズムの解説書. 題名にもあるように, アルゴリズムとともに「データ構造」が如何に重要かがよく理解できる. (内藤) サイエンスライブラリ 情報 電算機35 [4]アルゴリズムの設計と解析 I
★★★★A. V. Aho, J. E. Hopcroft and J. D. Ullman (著) 野崎 昭弘, 野下 浩平 (訳)
サイエンス社 1977年刊 2,800円 ISBN 4-7819-0279-0
種々の基本的なアルゴリズムに関する標準的な教科書. ここに書かれていることは情報
科学を勉強する上では必須の知識である. (内藤)
サイエンスライブラリ 情報 電算機36
[5]
アルゴリズムの設計と解析 II
★★★★A. V. Aho, J. E. Hopcroft and J. D. Ullman (著) 野崎 昭弘, 野下 浩平 (訳)
サイエンス社 1977年刊 2,800円 ISBN 4-7819-0280-4
種々の基本的なアルゴリズムに関する標準的な教科書. ここに書かれていることは情報
科学を勉強する上では必須の知識である. (内藤)
[6]
The Art of Computer Programming Vol. 1
★★★★ — Fundamental Algorithms, 3rd Edition—D. E. Knuth (著)
Addison-Wesley 1997年刊 $49.95US ISBN 0-201-89683-4 コンピュータや計算機科学に関する最も有名な文献の一つ. 現在は Volume 3 までが出 版されている. 内容は極めて難解であるが, 一度は目を通す必要がある文献. さらにこの 本を難解にしている理由として, Knuth 先生の英語が日本人には難しいということもある.
Vol. 1 では「計算」に関する基本的な考え方やアルゴリズムが紹介されている. (内藤)
[7]
The Art of Computer Programming Vol. 2
★★★★ — Seminumerical Algorithms, 3rd Edition—D. E. Knuth (著)
[8]
The Art of Computer Programming Vol. 3
★★★★ — Sorting and Searching, 2nd Edition—D. E. Knuth (著)
Addison-Wesley 1997年刊 $54.99US ISBN 0-201-89685-0
Vol. 3 の内容は整列・検索に関する種々のアルゴリズムとその解析. (内藤)
[9]
The Art of Computer Programming 1
日本語版
★★★★★ — Fundamental Algorithms 3rd Edition—D. E. Knuth (著) 有澤 誠, 和田 英一, 青木 孝, 筧 一彦, 鈴木 健一, 長尾 高
弘 (訳)
アスキー 2004年刊 9,800円+税 ISBN 4-7561-4411-X
Knuth の名著「The Art of Computer Programming Vol. 1」日本語訳. 日本語訳が全面 的に書き直され, 非常に読みやすくなった. 当然のことであるが, 内容が易しくなっている
わけではない. (内藤)
[10]
The Art of Computer Programming 2
日本語版
★★★★★ — Seminumerical Algorithms 3rd Edition—D. E. Knuth (著) 有澤 誠, 和田 英一, 斎藤 博昭, 長尾 高弘, 松井 祥悟, 松井
孝雄, 山内 斉 (訳)
アスキー 2004年刊 9,800円+税 ISBN 4-7561-4543-4
Knuth の名著「The Art of Computer Programming Vol. 2」日本語訳. 日本語訳が全面 的に書き直され, 非常に読みやすくなった. 当然のことであるが, 内容が易しくなっている わけではない. (内藤) [11]
アルゴリズム C 第 1 巻
★★ — 基礎・整列— R. Sedgewick (著) 野下 浩平, 星 守, 佐藤 創, 田口 東 (訳) 近代科学社 1996年刊 2,800円+税 ISBN 4-7649-0255-9 同一著者による「アルゴリズム」の内容を C 言語を交えて書き直したもの. C 言語を使っ ているならこちらの方がよいかも. (内藤) [12]アルゴリズム C 第 2 巻
★★ — 探索・文字列・計算幾何— R. Sedgewick (著) 野下 浩平, 星 守, 佐藤 創, 田口 東 (訳) 近代科学社 1996年刊 3,300円+税 ISBN 4-7649-0256-7 同一著者による「アルゴリズム」の内容を C 言語を交えて書き直したもの. C 言語を使っ ているならこちらの方がよいかも. (内藤) [13]アルゴリズム C 第 3 巻
★★ — グラフ・数理・トピックス— R. Sedgewick (著) 野下 浩平, 星 守, 佐藤 創, 田口 東 (訳) 近代科学社 1996年刊 3,200円+税 ISBN 4-7649-0257-5[14]
数学問題へのコンピュータアプローチ
★★★★ J. Neivergelt, J. C. Farrar and E. M. Reingold (著)培風館
簡単な数学的な問題(数の計算・ゲームなど)に対して, コンピュータを利用したアプ ローチ方法の例を解説したもの. コンピュータの本と言うよりは, コンピュータを利用した
数学の本である. 私自身がはじめて勉強したコンピュータの本. (内藤)
Universitext
[15]
Programming for Mathematicians
★★ R. S´eroul (著) Springer-Verlag 2000年刊 ISBN 3-540-66422-X 数学(特に代数)に関する極めて基本的なアルゴリズムに関して, 数学者向けに平易に解 説されている. 明らかに数学の文献である. ただし, 記載されているプログラムが PASCAL で記述されている. これを C 言語で書き直して日本語訳を出せば売れると思うけど... (内藤) 計算機科学/ソフトウェア技術講座5 [16]アルゴリズムと計算量
野崎 昭弘 (著) 共立出版 1987年刊 3,000円+税 ISBN 4-320-02380-3 種々の基本的なアルゴリズムを解説したもの. (内藤) Software Technology 13 [17]C
言語による最新アルゴリズム事典
奥村 晴彦 (著) 技術評論社 1988年刊 2,330円+税 ISBN 4-87408-414-1 基本的なアルゴリズムに関して C 言語によるプログラム例が紹介されている. ここに掲 載されているプログラム例は「あくまで一例」であって, 望ましいプログラムとは限らな い. (決して間違っているようなことはない) (内藤)その他
[1]ファインマン計算機科学
R. P. Feynman (著) 原 康夫, 中山 健, 松田 和典 (訳) 岩波書店 1999年刊 3,500円+税 ISBN 4-00-005941-6 ファインマンの視点からみた「計算とは何か」についてのファインマン自身の講義ノー トをまとめたもの. チューリングマシン, 情報理論の初歩などだけでなく, 量子計算などに も言及されている. 独特の視点から計算機科学の標準的内容にアプローチするスタイルは 非常に興味深い. (内藤)[2]
コンピュータの構成と設計 (上)
★★— ハードウエアとソフトウエアのインターフェース— D. A. Patterson and J. L. Hennessy (著) 成田 光彰 (訳)
日経BP社 1999年刊 4,400円+税 ISBN 4-8222-8056-X コンピュータの中心をなす CPU の設計の思想と方法に関して, 比較的平易に解説され ている. 「コンピュータはなぜ動くのか」を知りたければこの本を読めば十分に理解でき る. そのへんにある「コンピュータはなぜ動くのか」とかという題名の本とは質が本質的 に異なる. なお, 著者は MIPS の CPU を設計した本人である. (内藤) [3]
コンピュータの構成と設計 (下)
★★ — ハードウエアとソフトウエアのインターフェース— D. A. Patterson and J. L. Hennessy (著) 成田 光彰 (訳)日経BP社 1999年刊 4,800円+税 ISBN 4-8222-8057-8 コンピュータの中心をなす CPU の設計の思想と方法に関して, 比較的平易に解説され ている. 「コンピュータはなぜ動くのか」を知りたければこの本を読めば十分に理解でき る. そのへんにある「コンピュータはなぜ動くのか」とかという題名の本とは質が本質的 に異なる. なお, 著者は MIPS の CPU を設計した本人である. (内藤) [4]