きよくらの備忘録

「三日坊主と呼ばせない!日記」改め。主にソフトウェア開発関連の話題。

通読開始しました『C#プログラムの効率的な書き方 LINQ to Objectマニアックス』

割と出版されてすぐに購入していましたが、リファレンス的に部分部分を拾い読みしていて、通読はしていませんでした。このたび、頭から通読を開始。

【省エネ対応】 C#プログラムの効率的な書き方

【省エネ対応】 C#プログラムの効率的な書き方



先日の某氏のblogに対するコメントに端を発したプチ炎上TLなんかもありましたが、現時点でC#でLINQを使わないというのは正直勿体なさすぎです。『良くわからないからLINQは使わない』『LINQ使わなくてもかけるし、ちゃんと理解せずに使ってもバグのもとだし』等という意見もみられますが、それは昨今のオブジェクト指向言語を使いながら『良くわからないからクラスは使わない』『クラス使わなくても(以下略』とさほど違いが無い…ようにすら思います*1


ちなみに、私の周りでよく見られるLINQに対する誤解として「別にSQLでいいじゃん」というのがあるようです*2。ひょっとしたらLINQの出はじめのころにLINQ to SQLが良く取り上げられていたからかもしれません*3。しかしLINQ to SQLは『SQLデータベースをソースして扱う、LINQプロバイダの一種』です。LINQプロバイダ次第で色々なものをソースとすることができます。そのもっとも汎用的なものが、本書のタイトルにもなっている LINQ to Objectです。


……とは言いつつ、私も人に教えれる程に熟知しているどころが、自分が必要な場面で割と場当たり的にサンプルなどを見ながら理解した"つもり"になっているだけな部分が多い事を自覚しています。ですので、一旦このあたりで叩き直したいと思い、書棚から本書を改めて取り出した次第です。



とまれ、中途半端にしか理解していない私がここでごちゃごちゃ書くより、本書を見ていただくのが一番だと思います。LINQになかなか手を出せない人、LINQに懐疑的な思いを持っておられる方は、とりあえず本書の『まえがき』と『Part.1』だけでも目を通してみられることをお勧めします。

*1:あくまで個人的な感想です

*2:すみません、先日某氏とtwitter上で同じようなやり取りをしましたが、特にそれのことを言及しているのではありませんので、ご了承ください。私の見聞きする範囲で少なくない方から同じような感想をお聞きしています。

*3:またひょっとしたら、Windows Phone 7ではDB操作にLINQ to SQLが必須だったからかもしれません…が、これは少ないか(ぉ