路傍のプログラマ

只のプログラマが綴る愚痴と備忘録

@Signed

2008-07-09 21:58:14 | プログラミング
記事「JSR-305: ソフトウェア欠陥検出用アノテーション 」
http://www.infoq.com/jp/news/2008/07/jsr-305-update
によると、

メソッドの引数や戻り値がnullである可能性があるとか、nullになってはならないことを明示するためのアノテーションが導入されるそうです。

@Nonnullとか@NullFeasibleとか。

整数型の符号を示すための@Nonnegative、@Signedとかも。

うーん。アノテーションで型システムの一部を実装するみたいな感じかなあ。

下位互換性(バイトコードレベルの互換性)のために無理してるんじゃなかろうか。

C++だと、テンプレートと型システムが協力して(絡み合って?)強力なツールになってたんだけど、

Javaには、ジェネリクスとアノテーションを組み合わせて使う方法は皆無に近かったような。せいぜいコンパイラの警告を抑制するくらい。違ってたかなあ。

Javaはどこを目指してるんだろう。

(追記 2008/07/10)
記事「コラム Java API、使ってますか? JSR 305: Annotations for Software Defect Detection」
http://journal.mycom.co.jp/column/jsr/016/index.html
にもJSR 305の話がありました。

この記事でも、想定されている用途は(当然ながら?)静的なエラー検出。

Javaではジェネリクスもアノテーションも、エラーチェックに用いるというのが流れなのでしょうか。

プログラマとしてはわくわくしないなあ。

最新の画像もっと見る