ゆとりーなの日記

日記的な事を書いて行くと思はれる

リア充の友人が突然がC++やるとか血迷いだしたので

うちの大学の理工学部では、SD科にのみ?C++の講義があるらしいのですが、何をまちがったかそれの教科書を入手してC++始めるとか言いだしてしまったリア充がいるので、またC++イミフとか言いだしそうな予備軍が現れてしまったことを危惧して今の中に対策を打っておくのです。まぁそのリア充君は多分この日記見てないんですけどね。
先ず初めに初学者が書くコードと変態Cプラーが書くコードには差が開きすぎています。それこそC言語の比じゃないように思えます。
私の印象では、C言語において初学者が見て気持ち悪いと思うコードは、それこそ実行効率を重視した黒魔術的コード、例えばメモリの使い方等位の様な気がしますが(私がC言語初学者なのでそういう印象があります。)、C++ではそれに加えて構文上の気持ち悪さが加わってきます。Boostのソースコードとかを見ればそれこそ一目瞭然でしょう。
その諸悪の根源はメタプログラムにあるわけです。プリプロセッサ、テンプレートを駆使したメタプログラムは自分で書いていても気持ち悪さを覚えます。またそれが快感でもあるわけですが。C++は本当に中毒性のある言語ですね。要はC++は実行効率だけでなく、コード作成効率も重視しだした黒魔術が使える言語なのです。そしてテンプレートを覚えたプラー達は汎用性にも手を出し始めます。その結果型の特殊化を駆使してあらゆる型で使えるような基盤を作りだすわけです。それらコードはとてもC++初学者に見せられる代物ではありません。しかもC++0xではメタプログラムのサポートが強化されるときます。この世界はstd::coutを使って"Hello World!"を出力するのとは世界が全然違います。例えstd::coutが諸悪の根源であるテンプレートを使って作られたものだとしても。
何が書きたかったのかよくわからなくなってきたのでここでやめときますが(日本語も難しいのです。)、取り敢えずリア充の方には、どうしてほしいのかもよくわかりません。
取り敢えず不当にC++をdisるのだけはやめてください!