プログラマの数学

あいも変わらずわかりやすい。


が、残念。読むのが遅かった。物足りない。Amazonの説明文をもう少しちゃんと読むべきだった。

文系プログラマを対象にした基礎数学の解説書。

プログラマの数学

基礎を知るには大変わかりやすいことは間違いない。むしろこれで分からない人っているの?と思えるレベル。位取り記数法やブール代数はまだしも、再帰やコンピューターの停止判定問題をここまでわかりやすく説明した本は他に見たことがない。


内容は初歩レベルだったので多くの学びがあるわけではないのだが、一つ驚いた箇所がある。以下の文だ。

数学の証明ではプログラミングと異なり、時間を無視した手法がよく登場します。

俺はすっかり逆の考えだった。すなわち、こう。

プログラミングは数学と異なり、時間的な制限が課されます。

逆に考えるべきだったか。制限があると考えるよりも制限がないと考えるほうがポジティブで楽しいからね。

富豪的プログラミングとか、最適化するなとか良く目にするのだけど相変わらずプログラムを書いている途中は時間的制限に心が縛られる。この処理遅くないかな?大丈夫かな?きっとボトルネックになっちゃうから今のうちに最適化しておいたほうがいいんじゃないかな?って。数学の世界はそれがない。昔は数学の世界ってかっちりきっかりして彩りを感じない世界だと思ったけど、いつの間にかすっかりイメージが反転してしまった。数学の世界の自由さは、きっと虹よりも鮮やかなんじゃないか。

あと本書で良かったのは読書案内だ。次へのポインタがあると辿るだけだから楽だ。こいつがNULLだとまた走査処理が走ってしまう。「いかにして問題をとくか」「オイラーの贈物」などタイトルから面白そうな匂いが強烈に漂ってくる。


しかしそれにしても、大学でまともに勉強しなかったのにやっぱりどこかで理系的な考えは身についてるものなのかと思った。文系プログラマを対象に、という言葉がつくと俺が物足りなくなる程度のレベルなのだから。大学じゃ酒と麻雀とセックスしかしてなかったような気がするのだけど。プログラムも書いてたか。


最後に一言。
もっと別の、良いタイトルがあったのでは?

プログラマの数学

プログラマの数学