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)

[2203 byte] By [St0rm] at [2007-9-27 16:11:33]
# 1

1. in method calls, make returned arguments symmetric to passed arguments (method signature is different if number or types of returned arguments differ). but keep current code working.

2. explicitly exclude support for windows "24bit" (16/32, win95,98,me,...) since sun will never fix System.currentTimeMillis()' 50/60ms accuracy problem on those, and also a host of other bugs.

Fabio_Cecin at 2007-7-6 0:30:14 > top of Java-index,Other Topics,Java Community Process (JCP) Program...
# 2

Guys, you're crazy.

I hope Sun will not take your postulates seriously.

I don't understand some St0rm's points, some I am afraid of.

6. Why do you need 4 bytes char? Unicode doesn't work for you well?

8. All files in java.util.Properties? How do you imagine loading legacy systems' binary data from files?

9. Gooooosh! What SWT? I am developing serious application in Swing and the GUI is very good. I checked out SWT and I would feel horrible if I am forced to use it. Please tell me how to highlight table rows on different colors in SWT. Please tell me how can I develop custom UI JavaBeans in SWT. The library seems not to be mature yet. Take hands off from Swing! Let Sun develop it...

18. Many use Applet. Calm down.

Only a few of your proposals are resonable.

Maciej_Wegorkiewicz at 2007-7-6 0:30:14 > top of Java-index,Other Topics,Java Community Process (JCP) Program...