ただのにっき
2013-04-25(木) [長年日記]
■
10日でおぼえるC#入門教室 (10日でおぼえるシリーズ)(arton)
こんど仕事のプロジェクトでC#を使うことになってしまい(というか自分で決めたんだけど)、なんか教科書的な本を読まないとなーと思っていたらこの本が出たのだ。言語学習のために「×日でマスター」系の本は避けるのが基本だと考えていたんだけど、著者があのartonさんである。一筋縄なわけがない。
で、ちょうど大江戸Ruby会議03のときに会えたので聞いてみたら「3日目にしてラムダ式が出てくる」点を力説された。意訳すると、ありきたりのオブジェクト指向言語チュートリアルではないということだ。いまどきの言語がマルチパラダイムなのは当然なので、入門書だってそれに対応しているべきだから、この方針は正しい。ということで買ってみた。
「10日で」といってもそのためにフルに時間を使えるわけではなく、仕事の合間に写経しながら1回で「1日分」を進められるのは最初の3日くらい。あとは飛び飛びに写経した。
2日目まで、さんざんクラスを使って非常に冗長な記述を繰り返し、「あーもう、面倒くさい!」となったところで、救世主のようにラムダ式が登場、コード量をググっと圧縮してみせるあたりが実にニクい(笑)。あと、(9日目とはいえ)ちゃんとTDDも盛り込まれているのでテスト厨にも安心。
それにしても、C#はJavaに似たやや冗長な言語だけど、十分に発達したVisualStudioのインテリセンスのおかげでタイプ量は非常に少ない。というか最近のIDEってこんなに進歩してたんかー。普段はvimでも補完使って楽してるけど、これはちょっと異次元だなぁ。感動した。コーディング規約も強制されるし、業務で使うには最適だなこれ。
ユニットテスト機能もIDEだけでなく文法でもサポートされている(命名規約で縛るのではなく)。artonさんはコミュニティにも委員会にも邪魔されず好き勝手に拡張されている言語なので進化が速くて面白いと言っていたけど、たしかにそんな気がする。言語組込みの問い合わせ言語「LINQ」なんてまさにそうで、同じ言語内言語である正規表現よりも密に組み込まれていて、境目が見えないくらいだ。保守的な方針の言語でこれをやるのは難しいだろう。
というわけでだいぶ面白かった。あとはこれを業務で使うわけだけど……まぁ、入門書一冊読んでおしまいというわけにはいかないわな。もう一冊、リファレンス的な本も欲しいな(公式文書で十分かもしれないが)。