Linus、C++ をこき下ろす
On Wed, 5 Sep 2007, Dmitry Kakurin wrote:
>
> Git のソースコードを最初に見たとき、ヘンだと思ったこと:
> 1. C++ じゃなくてただの C を使ってる。理由は謎。移植性がどうとか言わないで、
> そんなのウソに決まってるから。*あんた* のほうこそ大ウソつきだ。
C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるためにさらに輪をかけてゲロゲロになっていて、どうしようもないゴミが簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。
http://tabesugi.net/memo/2009/1a.html#152154
わはは、相変わらず Linus はクールなイカれ野郎だ。
このくらい汚い言葉を使いたくなるほど Linus は C++ が嫌いなのか。
つまりこういうことだ: C を選ぶのは、唯一のまともな選択だ。以前 Miles Bader が冗談で「人をムカつかせるため」といっていたが、実はこれは本当だ。
ぼくは C よりも C++ をプロジェクトに使いたがるようなプログラマーは、みな *本当に* ムカつかせておきたいようなプログラマーだという結論に達した。
そうすれば連中がやってきてぼくの関わっているプロジェクトをめちゃくちゃにすることがないからね。
どうも C++ が嫌いなだけじゃなく、C++ ユーザも嫌いみたいだ。
もし C++ で書かれた VCS が欲しいのなら、Monotone を見てみるといい。ほんとに。連中は「本物のデータベース」を使っているよ。「素敵なオブジェクト指向ライブラリ」も使ってる。「ナイスな C++ の抽象化」も
使ってる。そして率直なことろ、一部の情報系の人間が喜びそうなこれらすべての設計上の決定のために、できてきた結果はゲロゲロで保守不可能なカオスだ。
これは自分も気をつけないといけないな。
ところで Linus はオブジェクト指向は分かっているのだろうか。なんか Linus の C++ の原因はオブジェクト指向をものにできなかった腹いせのような気がする (なんとなく)。
たしかに。C++ を好んで使ってるプログラマーで、まともな考え方をするやつを 今までに見たことがない。こう思ってるのは新山だけじゃないと思う。 かれらは設計がまともにできないのはもちろんだが、それ以上に 「自分が C++ を使うこと」の正当化をするために、世界の認識そのものが ゆがんでしまっているようなのが多い。ちょうどインテリジェント・デザイン信奉者のようなもんだ。 理屈だけはゴテゴテと豪華に構築しているが、あんたらは一生それを背負って 歩くつもりかい? せいぜい倒れないように気をつけてね。
これは「C++」を「オブジェクト指向」に変えても成り立つような気が。『「自分がオブジェクト指向を使うこと」の正当化をするために、世界の認識そのものがゆがんでしまっている』というのはよくある話。
DOA 屋さんが「オブジェクト指向のせいで設計が必要以上に複雑になった」と不満を漏らしている、という話も聞くし。自分も気をつけないとね。