タグ

PythonとJavaに関するnanakosoのブックマーク (3)

  • JavaのTimSortがバグってる件について | さにあらず

    Python で実装され、その後 Java にも移植されたソートアルゴリズムである TimSort が盛大にバグっていることが発見されました。 このバグがどのようにして発生するのかについては、以下のドキュメントを精査して下さい。 TimSort fails with ArrayIndexOutOfBoundsException on worst case long arrays OpenJDK’s java.utils.Collection.sort() is broken: The good, the bad and the worst case どんなことが起こるのか​ 通常の利用では想定しえない場所でArrayIndexOutOfBoundsExceptionが発生します。 例えば、以下のようなスタックトレースになります。 Exception in thread "main" jav

    JavaのTimSortがバグってる件について | さにあらず
  • App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ

    App Engineで使える言語は基的にはPythonJavaです。それでは、どちらを選ぶのが良いのでしょうか。 それ以外の言語の人向けの話は後から出てくるのでしばらくこのままお読みください。 趣味ならば単に好きなものを選ぶだけでいいのですが、仕事で使うためには、長所と短所をきちんと把握した上で選ぶ必要があります。また、ここでの話は言語としての一般的な話ではなくApp Engineで使うとき限定の話としてお読みください。 まず安定度ですが、インフラ部分の安定度は、どちらも基的に同じです。もしかすると、まったく同じものを使っているのかもしれません。 その上で動くAPIの部分は、インフラと直接結びついている低レベルな部分と低レベルなAPIの上に構築された高レベルな部分とに分けて考える必要があります。 低レベルなAPIはLLAPIと呼ばれたりしますが、安定度は、PythonJavaも同じ

    App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ
    nanakoso
    nanakoso 2010/03/25
    PythonつかえJavaならslim3使え
  • Java : Generator - lethevert is a programmer

    PythonのGeneratorみたいなものをJavaで作ってみようと思った。Javaには物のマルチスレッドがあるのだから、Generatorくらいは当然作れるのだけれど、いざちゃんと協調動作させようとすると上手く書けなくてあきらめる人とか多いのじゃないかとか思ったので。 実装上は2つのスレッドを協調動作させているのだけれど、使っている側からは1つのスレッドが交互に制御を移しているような感覚で使えます。 これがサンプルコード。 public class GenMain{ public static void main (String[] args) { Generator<String> g = new Generator<String>(new Call()); String s = "開始"; i = 0; do{ System.err.println(i); System.err.

    Java : Generator - lethevert is a programmer
    nanakoso
    nanakoso 2009/09/27
    車輪の再発明したった
  • 1