タグ

2009年3月11日のブックマーク (2件)

  • 型システムの理論の影 - プログラマーの脳みそ

    プログラムにおける型システムってのは数学・論理学の型理論を基盤にしていて、抽象的なもやもやとした代物。この型システムの理論を現実に実装したものとして、多様なプログラム言語が存在するわけだ。 鶏と卵という話だとどっちなんだろう。実装が先でそれを理論としてまとめたって感じなのか、理論がまず考えられてプログラム言語が実装されたのか…。最初のプログラム言語というと1954年に登場したFORTRANで、IBMのジョン・バッカス氏*1によって考案された。FORTRANにはいくつかの数値型がある。この頃に型システムの体系的な理論ができていたとは思えないから多分、実装が先行なんだろうな。 理論としての型、そのJava実装のクラス 型システム(type system)でいう型(type)は型理論に基づくわけで、数学的な抽象概念に近い。例えば僕らが日常生活で数学的概念である1/3という値を厳密に使うことはない

    型システムの理論の影 - プログラマーの脳みそ
  • JavaはCより速かった — ありえるえりあ

    http://blog.liris.org/2009/03/java.html 仕事をせずに遊んでいる人のコードを、家のJava(Java6)で試してみました。 シェルで動かして、グラフはgnuplotです。ハイテク満載です。 $ seq 1 100 |xargs -n 1 java test |tee /tmp/java-cl.out $ seq 1 100 |xargs -n 1 java -server test |tee /tmp/java-sv.out 横軸は同時スレッド数、縦軸が時間(ミリ秒)です。要は低い方が速くて優秀です。 クライアントVMとサーバVMの差がすごいです。と言うか、サーバVMが優秀すぎます。と言うか、サーバVMの数値は変です。トータルでまわるループ数が線形に増えているはずなのに、処理時間があまり増えていません。 試しにと思って、Cのコードと比較してみました(コ

    rryu
    rryu 2009/03/11
    total += iがアトミックに実行できればsynchronizedは要らなくなってしまうので、2つの変数を更新するとかすればまた結果が変わるかも。