MYCOM Journalでも記事になっていますが、JAVALOBBTYに「The Top 10 Unused Features in Java」というエントリが掲載されています。
The Top 10 Unused Features in Java | Javalobby
コメント欄で指摘している人もいますが、実際のところこのリストはあまり的を射ていないように思います。
- Assertions
サンプルコードではよく見ます。ただ、現場ではJUnitやTestNGなどのテストツールを使うし、今はアノテーションもあるから直接触ることは無いかもしれない。むしろ、1.4以前にも自前でやっていたから予約語になって困ったという話なら当時よく聞きました。
- Java 6 API
Java 6への移行が進んでいないというのは確かですが、その理由はAppleがサポートしないからというわけではないし、すでに移行したシステムであえてJava 6 APIを使わないというケースはほとんど聞きません。Groovyとかどうすんの。
- Applets
これは指摘の通り、6u10が鍵になるでしょうね。JavaFXでも使うし。
- bin以下のexeファイル
確かにあまり直接は使うことはないけど、IDE経由で使ってるでしょ。
- JARインデックス
これについては実際の利用状況を知らないのですが、使わない理由がよくわからない。
- Personal Java, JavaOSなどの派生物
Java派生物で使われていないものはいくらでもありますいが、この2つについて言えばSun自身がかなり以前からJava MEに置き換えることを推奨しています。例えが悪い。
- const, goto
これが予約語になったのはC言語の習慣を引きずったコードで混乱させないようにするためだったはずで、使われないのは当然です。
どうも直接触る必要がないことと、使われていないことが混同されているような気がしてなりません。
CORBAについてはニーズが限られているので標準である必要は無いかもいいかもしれない。MIDIとAccessibilityについては指摘の通り標準のものでは不十分なので、ちゃんと作ろうとしたら追加のライブラリが必要になるというのはうなずけます。しかしことAccessibilityに関しては標準のフレームワークが用意されていること自体が重要なわけで、このリストに挙げるのは適切ではないと思います。