ラムダ式、使ってますか?
C#の真価は基本の少し先にあります。
数々の便利機能を知れば、かなりプログラムが見やすく簡潔になります。
本書ではC#3.0から導入された強力な機能を紹介し、その有効性をシンプルなコードで解説してくれます。
中でもラムダ式は、クラスの概念を大きく変えるインパクトです。
ラムダ式の実力
いきなり個人的な意見ですが、本書は
(1)ラムダ式の所を読む
(2)第1章を再度読み返す
これだけで元は取れます。
(いや他の所も分かりやすくオススメですが)
理由は、ラムダ式には単なる文法以上のインパクトがあるからです。
ラムダ式は一つの機能ですが、クラスの存在意義を大きく変えます。
もっと言うと、オブジェクト指向そのものを見直す契機になります。
クラスの弱点とは?
まず、クラスは万能ではありません。
実際の所、意外と変化に弱いです。
よく入門書では、
クラスは設計しやすく、変化に強い
と書かれていますが、100%そうではありません。
例えば継承の階層が深くなると、簡単にクラスは変化に弱くなります。
一つのクラスを変更したら、あちこちへ影響が及び、振り回された経験は無いでしょうか?
またソースも冗長さが増し、見通しが悪くなりがちです。
(ソースからソースへひたすら旅する羽目になったり…)
そういったクラスの弱点への打開策が、本書には提示されています。
そして、その要となるのがラムダ式です。
冒頭で「クラスの概念を変える」と書いたのは、この強力さが理由です。
クラスの弱点を知り、ラムダ式を活用する
こういったプログラミングの引き出しを増やしたい方は、ぜひ本書を読んで欲しいと思います。
C#の奥深さ
ちなみに著者の川俣晶氏は、書籍やWeb上で様々な記事を執筆している御馴染みの方です。
(私は日経ソフトウエアのC言語連載が印象深いです)
氏は表面的な文法だけでなく
- シンプルなソースでの検証
- どう使うと効果があるか?
- 既存文法との比較
- 背景にある技術や設計思想
まで言及する丁寧さで(私の中では)定評があります
本書もその例に漏れず、ラムダ式・LINQ・拡張メソッドといったC#の強力な機能を、シンプルながら深く解説しています。
そんな風に C#の便利さと奥深さ を実感できる超良書です。
私はかなり目から鱗が落ちました。
C#をもっと使いこなしたい!
そんな方には、迷わず本書をオススメします。