Java 3 API
I wrote a little doc about what I think should happen in Java 3.
Pete's Top 20 Ideas for the next Java
The first ten or so are based on Eliotte's article, "10 Reasons We
Need Java 3.0," and the comments to it.
1. Delete all deprecated stuff
2. Fix incorrect naming, including get/set in java.nio
3. Make primitives classes
4. Create one native class that can be extended to allow operator
overloading, this is so the primitives can use operators.
5. Add enums
6. Make chars 4 bytes
7. Kill thread groups, stop, suspend, destroy
8. All file formats should be java.util.Properties, or if they
require a binary file format, they should be serialized
Objects, using java.io.ObjectOutputStream
9. Ditch AWT/Swing for SWT
10. Make the Collections more standardized
11. Make File more flexible, kill PrintStream, make PrintWriter
throw exceptions, rename write/readUTF write/readString
12. Make java.io talk to java.nio better.
13. Add write/readString to java.nio.ByteBuffer.
14. Add unsigned and generic types
15. Make arrays implement List
16. Open-source the base Java platform, but keep the standard open
for commercialization
17. Make ONE JVM/classfile specification, and stick to it! We could
probably live with the JRE 1.1 VM, if we didn't change the
class file format.
18. Cut out tons of junk from the core library. For example,
completely remove Applet. No one uses them anymore. We need
to make java.sql, java.util.regex, java.nio,
java.util.logging, java.util.prefs, java.beans, java.rmi,
javax.accessibility, javax.crypto, javax.imageio,
javax.naming, javax.print, javax.sound, entire org package.
These classes should all be in javax and be downloaded only
if a certain application requires them. We'll know if
they are required by a Dependencies entry in the manifest,
specifying package name and build number.
19. Add build numbers on JARs and/or classes. This will make
versioning way easier.
20. Replace RMI with TRMI (trmi.sourceforge.net)

