『独習C#』を読み終わって

『独習C#』というC#の入門書を読み終わりました。
入門書と言うわりには分量が多く、かつ内容が「楽しめて読める」系のものではありませんでした。
ひたすらつまらないサンプルをいじり、C#の機能を確かめる感じの本です(要は教科書みたいな感じ)。

つまらない=役に立たないではない

「つまらないサンプル」と書きましたが、それが役に立たないというわけではありません。
つまらないサンプルが選ばれるのにはそれなりの理由があります。
その章を説明するのに必要なだけの小さなプログラムが採用されており、初心者でもプログラムの全体像を把握できます。
また、一般に使われているアルゴリズムの内部を(簡単にですが)説明するようなものが目立つ印象でした。
つまり自分でプログラムを作るときにも応用が効きやすいのですね。
ただし後半で述べられているように、キューやスタックなどのプログラムを代表例として、自作するよりも既存の提供されているオブジェクトを使った方がほとんどの場合はよいようです。
とはいえ「内部でどんなことをしているのか」を知ることはとても大切です。
根本から知っておかないと、すぐに限界が見えちゃいますからね。

一章一章の内容は整っているが

一章一章の内容は整っていますが、索引がひじょーに使いづらいです。
後半の章では前半の章の用語が当たり前のように使われるので、「あれ、これどういう意味だっけな」と思って索引を紐解くことも多いと思います。
が、この『独習C#』の索引は非常に貧弱です。
単語そのもので探しても見つからないことが多く、結局はネットで検索して概要を把握した方が早いということになります。
これは「本だけで学習を終わらせたい」と思っている僕にとっては大きなマイナス点でした。
とはいえ最初に言ったように、一章一章の内容が整っているため、索引を使わなくても、その用語が使われているおおよその場所は特定できます。
それで何とかするしかない感じですね(やっぱり使いにくい)。

デリゲート(とイベント)がついに理解できなかった

僕がC#を学ぶにあたって大きな壁となったのは、ジェネリックでもLINQでもありませんでした。
デリゲートです。
このデリゲートはイベントと密接な関係があるようで、デリゲートを理解していないとイベントも理解できません
で、C#ではデリゲートやイベントを使った機能が盛り沢山らしく、この二つの理解は必須です。
僕もなんとかして理解しようと、『独習C#』の同じところを何回か読んだり、ネットで知識を補強したりしたのですが……。
ついに習得することができませんでした。
イベントやデリゲートは後半の説明でもちょいちょいプログラムの例題として出てきます。
つまり、イベントやデリゲートを理解していないと、そのプログラムの例題が理解できないのです。
これは非常に困りました。
僕が『独習C#』でうまく理解できていない箇所のほとんどが、イベントやデリゲート関連の場所であることを鑑みると、この二つは早急に学習する必要があるでしょう。

でもどうやって理解すればいいのかわからない

デリゲートとイベントを学習すればよいのはわかりました。
この二つを習得すれば、『独習C#』がさらなる輝きを放つことはまず間違いありません。
が、ネットで検索しても、『独習C#』の本文を読んでも理解できなかった僕です。
一体どうすればよいのか途方にくれてしまっています。
おそらくは、デリゲートを理解するための前知識が不足しているためにデリゲートが理解できず、したがってイベントも意味不明になってしまうのでしょう。
その前知識が何か? というのを突き止めないと前に進めないわけですが……。
それは多分、プログラミングの知識全般か、オブジェクト指向の知識全般でしょう。
C言語やC++の入門書を紐解いたあとでデリゲートの記事に目を通せばまた何か変わると信じたいところではあります。

C#の全体的な機能は知ることができた

まだまだC#を使いこなせていると言うには程遠いですが、とりあえずC#の全体像は把握できました。
「細かい使い方は各自で学習してね」と言うのもうなずけるほど巨大であることもわかりました。
あまりにも基礎が膨大なので、これはさっさと実践に移ったほうがいいかもなあという感じで締めくくりたいと思います。

早くプログラマを名乗れるレベルになりたいですね。

フォローする