C++ D&E
先日買ったC++ D&E をほぼ毎日、通勤時に電車中で読つづけ、三分の二弱くらい読んだ。シーケンシャルに読んでいるわけではないので、同じところを何度も読んだり、未読の部分がとびとびたったりするが、全体像は見えた(と思う)。
特定のパラダイムに忠実にならずにあらゆるシーンに対応できる、特定の用途にベストでなくあらゆる用途にベターな言語を目指しているというのが明確に、かつ何度も述べられている。おいらがC++を好む理由も、C++の方向性としてなんとなくそういったことを感じてきていたから*1。C言語の低水準記述性を維持しながら、クラス抽象、宣言記述(型抽象)ができる言語なんて他に無い。裏を返せば、そのバランスを維持するためにStroustrup先生はかなりの試行錯誤と苦悩を経ており、その片鱗を本書から読み取ることもできる。
このC++の目指すところを「総称的プログラミング」と言う。だから次の段階として、関数抽象(ラムダ記法)が取り入れられようとするのは当然の流れなんだろうな*2。
残りの分もきっちり読んじゃうぞ。