SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2005-03-21(Mon) K&Rで再入門

  つい先日、別途つけている記録をみたら、オイラはIT系の仕事に転職して4年、Perlを始めて3年、Rubyを始めて2年、ハードを始めて1年9ヶ月、ということが判明した。まだ、ITを仕事にしてから4年なのかと驚くとともに、仕事を始めてしばらくして「転職チャンス判定サービス」を受け、必要以上にボロッカスに評価されたことを思い出した。頭から松下電気に入るつもりなどなかったが、あの恨みは忘れんからな、日経BPエキスパートよ。

  しかし初めてPerlに触れたときの感動はかなりのモノであった。いーかげんとしか思えないような記述にも係らず、意図したように動く。それまで掲示板のCGIスクリプトとかをノゾいたりして、Perlのコードを目にしたコトはあったのだが、ハナモゲラな記号がたくさん並んでいたので引いていたのだ。んが、使ってみると、スゲェ楽。オブジェクト指向まで身に付いたし、C言語なんかやってらんない。

  しばらくPerlにドップリで、Rubyという言語の存在を小耳に挟みつつ、横目で眺めつつも、あえて手を出さなかった。Perlに似ているなら必要ないじゃん、と自分に必死で言い聞かせていた気がする。んが、そーゆー逃げの姿勢は、エンジニアの寿命を縮めるコトにもなりかねないと思い直し、使ってみるコトに。使ってみると、スゲェ美しい。Perlのオブジェクト指向のバッチョさがイヤになった。

  PerlとRubyでオブジェクト指向な思考が身に付いたので、C++にも少し手を出す。面倒な記述が多いけど、STLが使えるし、Cに比べたらかなりラクできる。以前に血迷ってC++Builderを購入していたので、それでちょっとしたプログラムを組んでみる。GUIプログラムもチョイチョイと作れるけど、激しいコトをしない限り、Ruby/tkのがラクでいいね。やっぱり今のところRubyが最高の言語である。

  というワケで、純粋なC言語からはかなり遠ざかっており、むしろマイナスイメージさえ感じていたのだが、これから仕事でC言語メインになるとあれば、いま一度、勉強せねばならん。なにより、C言語は永遠に不滅なのだ。OSを書いたり組み込みに使う言語は、よほど時代が進まない限りC言語でありつづけるだろう……というワケで、C言語といえばK&R。アマゾンで中古本をお買い上げである。

  画像の説明

  実はこのK&R、オイラが購入したのは初めてではない。実はANSI対応になる第2版の前、第1版を持っていたのだが紛失してしまったのだ。ちなみに、あの祝一平氏はOh!X誌の「C調言語講座」という連載の冒頭で、第8刷を持っているコトを自慢していた。この第8刷がイカにスゴいかは、この2版が288刷というトコロから察するコトができる。若干、共立出版の出版体制にも疑問は残るのだが……。

  しかし、以前も今もオイラのC言語に対する認識は変わらない。C言語はドラゴン……じゃなかった、C言語はレーシングマシンなのである。いままで色々な言語を使ってきたオイラではあるが、この認識は変わっていない。フツーの言語であれば目的地に着かないまでも道路からハミ出るコトはないが、C言語は軽々とコンビニに突っ込んでしまうのである。だからホントのコトをいえば、ヒヨッコにはイキナリC言語を教えるのではなく、PerlかRubyあたりから始めさせるのが吉だと思うのである。自動車学校を出たばかりの人をレーシングカーに乗せるのはオカシいのだ。C言語は高級アセンブラであるからして、アセンブラ言語というエンジン組み立て(まさにアセンブル!!)に近いトコロを経験してから、手を出すべきなのである。

  それはそうと、久々に目にした本書だが、やっぱり素直に難しい。難しいというか、密度が高いのでなかなか読み進められないというべきか。オイラも素人並に、実際にコードを打ち込みながら読んでいったほうが、より深く本書を理解できる気がする。つーか、そーでもしないと、寝ちゃうんだけどね……。