概要

  • プログラミング言語の比較、ライブラリの俯瞰、開発スタイルについて
  • カンナにこだわりがある大工、と言うときに、カンナで釘打ったりしない。言語は選んで。

開発スタイル

  • 紙を使え
    • 紙に設計を書くの大事.集中は紙からやってくる.キーボードからは集中パワーは出てこない
    • プログラムを書くときに,プログラムを紙で印刷するという方法を思いつかなければならない
  • デバッグの精神論>http://wise9.jp/archives/7986

目次

  • コンパイラ

情報源

速度の比較

  • ∑kをn_i=1->nで計算,n=10000(O(n^2)の計算)
C58ms1
Java181ms3
php3455ms60
python5266ms90
Ruby14548ms250
  • 1~1000000000までの数を足しあわせ
C236ms1
octave464000ms2000

開発スタイル

  • オブジェクト指向
  • テスト駆動
    • 原義的にはテストを先に書くことを表す
    • しかし、テストをあとから書いたとしても効用はある
      1. コード行数nに対して、テスト項目はO(n)である。コードをm回/時間変更するとすると、単位時間当たりのテスト項目数はO(n*m)である。自動でテストすると、テスト項目数をO(n)に抑えられる。
      2. 他の人と開発する時に、サンプルの代わりになる
  • Assert駆動
    • きちんとassertを入れながら実装する
    • if文でチェックするよりスマート。
  • valgrind駆動
    • valgrindクリーンネスは常に監視すべき

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-12-08 (土) 17:05:44 (1965d)