2006/03/27
Java5のバイナリ互換性
Javaでスローライフに目覚めつつあります。
Java5の互換性に関するリリースノート(http://java.sun.com/j2se/1.5.0/compatibility.html)を見ると次のように書いてあります。
- バイナリはupward compatibility(以下、compatと省略)があります
- ソースはupward compatはありますが、downward compatはありません
両方とも例外事項はありますが、これがSunの基本姿勢だと書かれています。
upwardは古いバージョンのものが新しいバージョンで動くことを意味して、downwardは新しいバージョンのものが古いバージョンで動くことを意味しています。
上の基本姿勢を読むと、「ソースのdownward compatだけは保てないのでごめんなさい」、と言っているように読めます。ソースコードのdownward compatを保つことは言語としての進化を止めろと言うのに等しいので、Javaファンであれば、「そんなに謝らなくてもいいですよ」と寛容な気持ちでSunに接したくなります。
バイナリに関してdownward compatがあるかどうか書かれていません(少なくとも、ソースのように目立つ場所にはありません)。「書かれていないので互換性があるのだろう」、と思っていましたが、「書かれていないので互換性が無い」が正解でした。裏切られた気分ですが、Sunは嘘はついていません。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/java-compat/tbping