リナス vs C++ あるいは: 言語、コンテキストそしてコミュニケーション。

http://www.realworldtech.com/forums/index.cfm?action=detail&id=110618&threadid=110549&roomid=2

要約すると:

  • linusの作業はメールでくるパッチを見て使うものを選ぶ(拒否する)こと
  • 大きなプロジェクトでのネックはいわゆるプログラマの「生産性」ではなくコミュニケーションのオバーヘッドである。
  • コミュニケーションはコンテキスト依存の少い、明示的なパケットで行うのが効率的。彼の場合、電子メール+パッチになる。
  • コンテキストに意味が依存する言語では一部を見てそのセマンティクスを判断にしくくなる。
  • C++の関数を満ても「どのバージョンが呼ばれるのかわからない」
  • なぜならオーバーローディングやpolymorphismはコンテキストへの依存性を高め、挙動の判断を困難にするから。
  • 一方、Cはけっこう正直だ。
  • なので彼のリードするカーネルC++は考えられない
  • 「『全てのプロジェクトにCを使え』とは言っていない」
  • と言いつつもC++はボロクソにけなしている 「C++の阿呆なnewキーワード、、」

相変わらずパンチがきいた味を出しているlinusである。