java

Ada, Go, Erlang, Scala, Stackless Python, Java (java.util.concurrent), シェルスクリプトの適当すぎる比較

同じようなコードをそれぞれの言語で書いてみた。Ada: with Ada.Text_IO; with Ada.Strings.Unbounded; procedure MyTest is use Ada.Strings.Unbounded; use Ada.Text_IO; task MyTask is entry Hello(Message: String); end; task body MyTask is Received…

SAXのハンドラをコンビネータっぽく書いてみた

これも有用性は不明。DOMツリーをトラバースするなりDigester (古い?)使うなりしたほうがいいと思いますけどね。 <document> <list> <item>a</item> <item>b</item> <item>c</item> </list> <list> <item>a</item> <item>b</item> </list> </document> こんな XML ツリーをパースするコードです。可読性はSAXハンドラを素で書いたにしてはいい方かもしれないけど、悪い。リフレ…

「国際化プログラミングの常識」をチラ見

再び、釣りなんだと信じて釣られてみる。 ■ 国際化は「ほどほど」に! (中略) さらに、Javaプログラマーが利用する国際化対応機能についても、すべてを使いこなす必要はありません。むしろ、国際化対応機能をむやみに使うと、訳の分からないソースコードが出…

Sun JVM の MappedByteBuffer は、途中でデバイスにアクセスできなくなると落ちるらしい。

という記事がikvmブログの記事にあった。 Running this on JDK 1.6 (x64) and removing the network cable during the sleep will result in an Internal Error in the VM. Not exactly what I had hoped for.Interestingly, on IKVM doing the same results…

『JNIはジャワの原住民のインターフェイス』

http://www.tech-faq.com/lang/ja/jni.shtml より引用: JNIはジャワの原住民インターフェイスである。JNIはジャワと適用間のインターフェイスと他の言語で書かれる図書館である。例として、JNIはジャワプログラムがCライブラリを使用することを可能にし、ま…

JNI、その前に

SennaのJavaバインディングがリリースされたらしい。素晴らしい。で、ソースコードを見てみた。JNI だ。懐かしい。 JNI のよくある間違い メソッドを呼び出すたびに FindClass() や GetMethodID() している。もしくはフィールド値を取り出すたびに GetFieldI…

Iteration Interruption の処理

「IEnumerator<T> を実装していれば必ず IDisposable である理由」は興味深かった。Java では Iterable / Closable がありますが、どうなんだろうと思ったら次のようなバグレポートを見つけました。 A DESCRIPTION OF THE REQUEST : Guarantee that if iterator</t>…

インナークラスなんてものわない

MITRE が国土安全保障省の支援のもと作成している Common Weakness Enumeration (CWE)。これまでのさまざまな脆弱性を分類し、ラベリングしたものです。個人的にはかなり「待ってました!」感がありますねえ。さて、その CWE をブラウズしていて見つけたのが…