A Sun-led Java standards group today will announce specifications designed to bring Java’s write-once run-anywhere promise closer to reality for wireless handsets.
A Sun-led Java standards group today will announce specifications designed to bring Java’s write-once run-anywhere promise closer to reality for wireless handsets.
The same way Sun promised to bring PersonalJava to the iPaq? Great! Let me go hold my breath.
One would hope the API cleanups would be enough to preclude the need for use of platform specific extensions as was so very common previously on these devices (the new SMS API is cited as an improvement)
Unfortunately, the initial lack of a standardized API has brought about a certain amount of disdain for Java I believe… frustration in a Java application working on one cell phone only to find that it is broken on an upgraded model. They’ve tarnished their reputation, perhaps to the point of irredeemability:
I’m afraid this can only help to leverage the compact .NET, which already has a fairly extensive API, designed from Microsoft’s previous experiences in the world of handheld devices.
Microsoft has done an excellent job of learning from Sun’s mistakes throughout the development of .NET, and I think J2ME will serve as yet another example…
You are completely wrong.
First of all, J2ME’s MIDP specification is not prepared by Sun. It is prepared in a JCP group consisting all the big mobile device providers as group members. The delays related with MIDP Version 2.0 was because the spec should serve the future models of all those firms, containing Nokia, Siemens, Motorola etc. In the end, the spec finished. MIDP version 2.0 released couple of months ago, and Nokia etc are already planning to release their MIDP 2.0 phones.
“Unfortunately, the initial lack of a standardized API has brought about a certain amount of disdain for Java I believe… frustration in a Java application working on one cell phone only to find that it is broken on an upgraded model.”
This is again wrong. If you had followed MIDP 1.0 standard API, your program should work on all the models. If it does not work, this is not Java’s fault but the mobile company’s fault.
MIDP 1.0 had to offer limited capabilities, because when it was prepared, there were different phones around, with myriad capabilities. MIDP 1.0 had to implement all the common properties, and let the phone producers implement extensions over it to back special capabilities of their products. That is why Nokia, Siemens etc prepared extensions and released developer kits and jars containing classes via which it is possible to program specific functions of their phones.
This cannot leverage the compact .NET, since, first, MS lost in mobile market already. There is no .NET phone, but there are millions of Java phones especially in Europe and Japan. This, I think, will not change, since Nokia and others already preparing to release Java MIDP 2.0 phones, that is, more than 100 million phones, in 2003. There is not even one .NET phone around. If MS played well, and did not try to play its classical unethical tricks on Sendo, they might have one. But now, even Sendo is producing Java mobiles.
I do not think that MS had done excellent job of learning from Sun’s mistakes thoughout the development of .NET. .NET, first of all, does not offer WORA. (Please lets not argue about it still. Even Mono(polist wannabee) on Linux is not 100 percent .NET compatible and never will be. Second, MS had to back up its idiotic legacy APIs. For instance, WinForms is still containing Win32 GUI related bindings. In short it sucks. C#, for instance, contain some minor improvements over Java, but it also contains terrible “features” which leads to bugs such as operator overloading, pointer arithmatic, etc. In short, completely useless.
Apart from that, Sun did a very good job in last 8 years of Java except for its implementations. Java implementations start to make sense after Java 1.3. Java 1.4.1_01, the latest, is very good indeed. For instance, Java 1.4.2 will be released in couple of months, with 30-50 percent faster Swing which will come with GTK and Windows XP look and feel supports, amoung the myriad other new things. Java 1.5, aka Tiger, will be released at the end of this year, containing all the good improvements of C# over Java (and not containing the stupid ones) and many more. So, even Sun learned from its mistakes. : )
Java is so full of bugs and quality/performance/relability problems, it is nowhere near being useful for high quality desktop applications. Read Sun’s own conversation about Swing and Java performance:
http://developer.java.sun.com/developer/community/chat/JavaLive/200…
This conversation is just the tip of the iceberg. Almost every class framework that ships with Java has its own BOOK full of gotchas and problems.
Also, there is no easily found information on Java 1.4.2 or Java 1.5. Where are you finding what’s going to be in these releases?
–ms
“Java is so full of bugs and quality/performance/relability problems, it is nowhere near being useful for high quality desktop applications. Read Sun’s own conversation about Swing and Java performance:
http://developer.java.sun.com/developer/community/ch at/JavaLive/200…”
This is an interview concerning how to make Swing applications run faster. Actually, I like Swing as a framework. I admit that it is pain in the ass sometimes, but, there are projects aiming to make Swing programming easier.
I don’t think that Java is full of bugs, quality/performance/relability problems. That is a lingering myth. It was in the past, but the latest releases are great in my opinion.
“This conversation is just the tip of the iceberg. Almost every class framework that ships with Java has its own BOOK full of gotchas and problems.”
Apart from that, if you do not like Swing, use SWT, alternative GUI framework developed by IBM, utilizing native OS gadgets, hence faster than Swing. For instance, Eclipse (http://www.eclipse.org) utilizes those.
“Also, there is no easily found information on Java 1.4.2 or Java 1.5. Where are you finding what’s going to be in these releases?”
First of all, the article that you sent link to has many information on 1.4.2 and 1.5. Did you read it before posting a link?
Apart from that, all the future specifications related with Java, can be monitored from Java Community Process site. JCP is a community formed from ~700 companies (No MS of course), creating future versions and extensions to Java. Look for Java 1.5 specification request for instance.