はじめに
vii
はじめに
対象読者
本書は、プログラミング言語と計算理論に興味のあるプログラマ、特に数学やコンピュータサイエ
ンスのバックグラウンドのない人のために書かれています。
プログラム、言語、機械を扱う、思考を拡張するようなコンピュータサイエンスの分野に関心はある
けれども、その説明によく使われる数学的言語にやる気がそがれているなら、本書はぴったりです。
ここでは複雑な表記を使わずに、動くコードを使うことによって、理論的概念の説明をインタラクティ
ブな実験に変えました。あなたは自分のペースで学んでいけるはずです。
読者はRuby、Python、JavaScript、Java、C#といった最近のプログラミング言語を、少なくとも
1つ知っていることを想定しています。サンプルコードはすべてRubyで書かれていますが、Rubyを
知らなくても、きっとついていけるはずです。注意してほしいのは、本書はRubyやオブジェクト指向
設計のベストプラクティスを説明するものではない、ということです。きれいで簡潔なコードになるよ
う心がけていますが、必ずしもメンテナンスしやすいとは言えません。本書の目的は、Rubyを使って
コンピュータサイエンスを説明することであって、その逆ではありません。また、本書は教科書ではあ
りませんし、百科辞典でもありません。きちんと秩序立った議論や隙のない証明について説明する代
わりに、興味深い概念を解きほぐして、読者がさらに深く学ぶきっかけを作るものです。
本書の表記
本書では以下の表記法を使用 ...