2010/9/13
アラフォーの手習い:C言語
ここ1~2年ほど、エクセルのVBA(Visual Basic for Application)に凝ってきて、かなりのレベルに達してきました。VBAは、元々、エクセル等のアプリを応用的に使えるように進化してきたプログラムです。なので、根っからのプログラム言語と比較すると、どうしても壁にぶつかってしまいます。
ただ、進化の過程で、壁を突き破る技術も開発されてきていて、極めていくうちに、そうした技術も使うようになってきました。具体的には、 ・ウィンドウズ自体を動かすウィンドウズAPIにエクセルからアクセスする ・あらかじめつくった型(クラス)を実体化させるオブジェクト手法を実践する ・オブジェクトの特性を登録しておく構造体の考え方をエクセルでも実現する といったことです。
しかし、やはり、上記の事柄をエクセルで実現しようとすると、どうしても色々と限界が出てきてしまいます。たとえば、エクセルのクラスでは、イベントの種類が限られていて、種類をオリジナルに増やそうと思うとかなりコードミスのリスクが増える、といったことです。
また、エクセルVBAはエクセルのバージョンアップのたびに仕様が変わってしまい、バージョン毎の連続性が担保できません。さらには、エクセルの環境だけにしか利用できないため、たとえば、ネット等にプログラムを移植することができません。
以上の事情により、遅ればせながら、C言語を勉強しようと思い立ちました。勉強を始めて、まだ数日しか経っていませんが^^、気付いた点が3つあります。
1つは、42歳という年齢にも拘らず、内容自体はスイスイと頭の中に入ってきます。学生の時、教授が授業で「40歳を過ぎたら今までの知識を吐き出していくだけ」と言っていましたが、必ずしもそんなことはなくて、今からでも新しいことをドンドン学んでいけるんだ~という発見がありました。もちろん記憶力は衰えているのでしょうが、忘れたら、もう一度、本を読み返せば良いだけで、まずは手にプログラムをドンドン馴染ませて、感覚を身に付けていくようなイメージで進めています。
2つ目は、VBAを突き詰めていたおかげで、C言語にも入りやすい、ということです。先述のとおり、VBAでも、C言語のレベルに近付く位のレベルまで突き詰めていました。そのことが、C言語への入りやすさにつながっています。やはり、1つの分野で極めれば、それと同類の他の分野には応用が効きやすいことを再発見しました。
3つ目は、分かりやすい良書と出会ったことです。とりあえず、何からスタートしてよいのかもわからない状態でしたので、「手とり足とり」が必要でした。書店でどれにするか1時間位悩んだのですが^^、選んだ書籍は正解でした。 http://www.amazon.co.jp/dp/4798005428 パソコンのマニュアルとしては1,365円と安いですし、ホントに何も知らない所からスタートしても大丈夫な本です。あと、入門から中級~と進んでいくに当たっては、柴田望洋さんの本のシリーズが、手に取ってみて良さそうに思えました。このままC言語の勉強が継続していければ、柴田望洋さんの本にアタックしていこうと思います。