2010-02-22

http://d.hatena.ne.jp/faith_and_brave/20100220/1266673222

C++0x 読んだが ダメっぽいな。

まず第一にエンタープライズでの開発が考慮されていない。エンタープライズの開発だと100人200人 マスタークラスから ジュニアーまで様々なレベル開発者が携わる。

その中で重要になってくるのは可読性。

はっきり言って、歴史的な可読性を犠牲にして効率が上がるならともかく、気持ちの問題程度の効率では意味がない。

第2に

スレッドファイバーの違いぐらいわかれ、わざわざスレッド起こしたらコンテキストスイッチにどれだけコスト食うんだよ。

関数コールするとレジスタとかが、スタックPUSHされるんだよってわからん奴が、IF書くなと同じで、スレッドってコンテキストスイッチの塊なんだよってのがわかんないのに下手にスレッド書かせるな。

3にラムダ式・・・いらん・・・必要なのは曲芸じゃない、可読性。可読性を犠牲にして早くなるならともかく・・・

4にforeachではlastを変数に取るな。途中でReallocしたり、eraseしたりしたときに余計なバグを生んで面倒だ。レビューの時も邪魔。速度?速度が必要な背景でSTLVector使うな。配列使うかポインタ使え。

なんつーか、トータルで見て、次はC++と各種OpenCLとかGLとかのライブラリの集合だな。C++0xはまともに使う人もいなさそう。正規表現とかもライブラリ使えば良いし、そもそもC系列ならBisonとかLRとかだろうと。C系列の使い手ならBNFを使え。正規表現使いたければそれこそ、Perl使え。

  • Twitter で話題に上がってたのでまとめてみました。 http://togetter.com/li/6669

  • 批判する前にC++の設計哲学http://ja.wikipedia.org/wiki/C%2B%2B#.E5.93.B2.E5.AD.A6]とあなたの使い方が一致しているかどうか考えてみるべきじゃないかな。というわけでその点からこの批評を批評して...

  • 正規表現とかもライブラリ使えば良いし、そもそもC系列ならBison とかLRとかだろうと。C系列の使い手ならBNFを使え。 正規表現って正規言語だけど、Bison LR BNF って文脈自由文法を扱う...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん