プログラミングの魔導書 vol.2 の紹介

プログラミングの魔導書 〜Programmers' Grimoire〜 Vol.2 を献本していただきました。
どうもありがとうございます。

はじめに

プログラミングの魔導書 vol.2では、C++, D, Scala, Haskell, Coq, F#といった言語を扱っています。どれかひとつにでも興味があれば、いや、プログラミングが好きならばきっと面白く読めると思います。

受注生産の形態をとっているようで書籍として購入するには10/04までに予約が必要だそうです。あと少しですね。PDF版には予約は不要とのことです。

内容

どの記事も興味深いのですが、その中でも個人的にこれはと思ったものについてごく簡単に紹介します。

Dave Abrahams へのインタビュー

Dave Abrahams氏は、C++の準ライブラリBoostの第一人者だそうです。私は、C++にはまったく明るくないのですが、それでもおもしろく読めました。インタビュー形式は、その人の考え方がよく伝わってきていいですね。

印象に残ったのは、EDSLの必要性に関して述べられた次の言葉でした。

私の個人的な経験則から言えば、抽象化を避けると、驚くほど早く、まったくもってスケールしない悪夢のように複雑怪奇なソフトウェアに成り下がってしまう。そのため、私の新しい抽象化の導入に対する抵抗は、問題が正しく認識されていれば、実に低い。

プログラムを書くとは抽象化の粒度をどうするか常に決定し続けることだよなぁとか、間違った過度な抽象化というのもあるよなぁとか、いろんな思いが去来しました。

風とF#とメビウスの輪

私がレビューに参加させてもらった記事です。

この記事では、F#の特徴的な機能が濃縮されて説明されています。空気のようにレトリックに優れたネタを織り込みつつも、F#の説明が的確でなんとも小気味いいです。本編の冒頭にパイプライン演算子の紹介をもってくるところが心憎いですね。ぜひ、この記事をきっかけにF#ユーザーが増えればいいなと思います。

それから、なんと、私が作ったO/RマッパーSomaを紹介していただきました。ありがとうございます。

D言語の設計と進化とか

D言語、名前しか聞いたことありませんでしたが、おもしろそうな言語です。
デフォルトですべての変数がThread Local Storageに配置されるのだとか。そんな言語、これまで聞いたことがないよ!驚きました。

プログラミング言語Scalaの歴史とこれから

Scalaはちょっとは気になっているものの、まったく知識がなくてどうしようとか思っていたんですが、そんな自分にとってこの記事は非常に参考になりました。
献本いただいて一番最初に読んだのがこの記事だったりします。

番外編としてScala Daysイベントレポートもあり、Scalaが世界的にどのような受け入れられ方をしているのか、雰囲気を感じ取ることができます。

さいごに

ここで紹介しきれなかった記事についても、興味深い内容が満載でした。
使うプログラミング言語によって考え方が制約される、とはよく言いますが、このような本を読むとそれが本当だと実感させられますね。普段使わない言語の特徴的な機能や考え方を知ると、脳内が刺激されます。

どうやら、Vol.3も企画されているようで、早くも楽しみです。