プログラマの人もそうでない人も! 『初めてのコンピュータサイエンス』

発売前からAmazonのページにも、出版元のオライリーのページにもたくさんブックマークがついていた気になる一冊、『初めてのコンピュータサイエンス』。

初めてのコンピュータサイエンス

初めてのコンピュータサイエンス

http://www.amazon.co.jp/gp/product/4873114632
O'Reilly Japan - 初めてのコンピュータサイエンス

何でこんなにブックマーク祭りになっていたのか原因はわからなかったのですが、一応コンピュータサイエンスなバックグラウンドということもあり、気になって衝動買いしてしまいました。

今、少しずつ読み進めているのですが、よい本ですね!プログラマな人にも、コンピュータサイエンスな人にも、そしてそれ以外の人にも。

トロント大学コンピュータサイエンスの入門クラスの内容がこの本の元になっていて、本当にはじめてという人も基礎を押さえて読み進められます。本書の中で使われている言語はPython。初歩の初歩から解説してありますが、最終的にはGUIやDBにも触れていて、基礎からここまで解説する本は珍しいのではないでしょうか。

Pythonを知らなくて、コンピュータサイエンスやプログラミングの基礎を復習したいというプログラマな人にもよい内容だと思います。日常的にプログラムを書いている人も、改めて読んでみると、気付くこと多数ではないでしょうか。書くいう私がそうです。

1章1章が短いのも達成感があってよい感じ。

最後に冒頭から超agree!な部分を引用します。

あなたは、フルタイムのプログラマではなく、医師、言語学者、物理学者になろうとしているのかもしれませんが、どの仕事に就くとしても、プログラムを書けるということは、手紙を書いたり基本的な算術計算をしたりすることができるのと同じくらいに大事なことです。
『初めてのコンピュータサイエンス』 p1

コンピュータサイエンスを学ぶと、コンピュータを通じて「人が考えるって何だろう?」と考えながら(主に抽象的な)考え方が身について、単に目先の問題をプログラムしてこなす一歩先の何かが見えます。

・・・といってもうまくメリットを伝えきれないので、日常に近いところだと、たとえば文筆のネタ集めなどにも役立ちます。この本を見つけたのもちょろっと書いたスクリプトのおかげ!

そんなこんなでただプログラムを書くというのではなくて、もうちょっと広い視点でコンピュータを知ろうよ(もちろんプログラムについても学べるよ!)という良書です(^^)

夏の一冊としておすすめ!

■ 余談

大学のコンピュータサイエンスの入門書だと、MITの『やさしいコンピュータ科学』もあるけれど、「どこが"やさしい"んだ・・・」という硬さ。これを最初に読んだらK&RC言語本でプログラミングから逃げたくなる勢いで、コンピュータサイエンスアレルギーになりそう(^^;

やさしいコンピュータ科学 (Ascii books)

やさしいコンピュータ科学 (Ascii books)

# うちの研究科の大学院入試の指定図書でした・・・。今もかな?