Fooling Yourself (The Angry Young Man)
Questioning the value of a "Swing 2"
Background: with parts of the Swing community concluding that Sun's emphasis on JavaFX implied a de facto abandonment of Swing, Jonathan Giles posted ideas last month for a Swing 2.0, a cleanup that would modernize the code-base to at least Java 5 standards: generics for collections, enums for enumerated constants, etc., without taking on the additional work of delivering significant new functionality. Danny Coward's reply focused instead on the improvements to the SE platform that will be of critical importance to Swing developers: graphic performance improvements, robust deployment, etc.
Elliott Hughes follows up to the "Swing 2" blog by writing:
Danny Coward responded but appears to have been too polite to get the point across.
That's where I come in.
His blog Swing 2: P-----g in the Wind [title redacted] is a thorough denunciation of Jonathan's proposal as off-the-mark and pedantic:
I've written and worked on numerous Swing applications now, and can honestly say that none of the ideas mentioned so far for the third-party "Swing 2" would have helped in any way.
The gist of Elliot's argument is that the proposed clean-up is of solely academic interest: it wouldn't make Swing code easier to write, work better, or enable developers to do things they can't do already. On the latter point, he clearly implies that Swing is crippled by lacking "functionality that was old hat even in the days of Windows 95", naming about boxes, font dialogs, and an embeddable browser component as glaring and obvious deficiencies of Swing's feature set.
There's a lot of tough love in here, and it comes from someone who actually uses Swing. In a sense, it reminds me of a comment on the O'Reilly Editors' list a few weeks back, that the Linux community should be grateful for the Linux Hater's Blog, as it's written by someone who knows Linux and cares enough to see its flaws for what they are, rather than a fanboy who pretends Linux is perfect, or fanboys of other platforms hurling insults with no basis in fact.
Swing people know best what Swing needs. Do they get a say?
In Java Today,
The Aquarium points out a New JCP JSR Status: Inactive, which the JCP has applied to "non-final JSRs that have not posted a milestone within the last 18 months." Eduardo Pelegri-Llopart notes, "The JCP pages have already been updated; check out the JSRs by Stage and the full list of Inactive JSRs. The list includes JSRs led by large and small companies, Sun and non-Sun. Some of the JSRs are very old, some just break the 18-month boundary."
For playing around with JavaFX, A. Sundararajan points out the availability of a JavaFX interactive shell: "JavaFX compiler has a built-in script shell - Per Bothner has implemented a read-eval-print loop facility for JavaFX. The script shell class is
Note:This is in the openjfx-compiler repository and not in the JavaFX 1.0 binary."
In today's Weblogs, Rama Pulavarthi updates the
JAX-WS RI 2.2 Status. "Its been a long time I blogged. You might be wondering what we are up to with JAX-WS RI lately. We are busy implementing the JAX-WS 2.2 RI."
In Atmosphere: state of the union, Jean-Francois Arcand writes, "The goal of Project Atmosphere is to bring Comet to everyone, everywhere. What the status of the project? Read on..."
Finishing up his series on game board modeling, Sergey Malenkov shows the math behind the Hexagonal tile map. "To supplement the posts about the triangular and square tilings, let's consider the third type - the hexagonal tiling. This is my favorite one. Each hexagon has more non-diagonal neighbors than a square. It simplifies calculating distance between two tiles. The main disadvantage of this tiling is that the axes are not orthogonal."
Inspired by a forum post on ME behavior on real-world devices, the latest java.net Poll asks "are complaints about ME fragmentation overblown?" Cast your vote on the front page, then visit the results page for current tallies and discussion.
In today's Forums, Potociar Marek uses the followup Re: Architecture: WSIT Integration into Metro to explain what Metro is and isn't reponsible for. "The Metro processing tubeline is based on the chain of filters/ interceptors design pattern. Still, it is orthogonal to the notion of JAX-WS SOAPHandler. Metro processing tubeline is the heart of "streamlined" SOAP message processing concept in Metro. As such it is a Metro-specific implementation detail and has no connection to JAX-WS API or specification. To dive a little deeper, one of the tubes which is a part of the Metro tubeline is a HandlerTube which is responsible for invoking registered JAX-WS SOAPHandlers. So basically all JAX-WS handler processing takes place at one single predefined place in the whole Metro tubeline. You can view JAXWS handlers as a high-level and portable API for processing SOAP messages, while Metro tubes are non- portable, low-level (but very flexible and powerful) SOAP message handlers/processors."
ksakexplains what happens when your EJB throws an exception in
Re: GlassFish Cannot Find SFSBs After a RuntimeException. "This is the spec-defined behavior for stateful session beans. Each injection of a stateful session bean reference results in a new stateful session bean identity. Here, the "client" is the servlet instance itself, of which there is typically only one per web application. If the bean instance throws a runtime exception the container must destroy it, which means any other invocations on its reference will result in NoSuchEjbException. This is one reason it's not recommended to inject a stateful session bean into a servlet instance."
Finally, Vince Kraemer offers GlassFish tooling advice in
v3 and NetBeans 6.7 M2. "Folks may know that the NetBeans project just published version 6.7 Milestone 2 which is available here: http://bits.netbeans.org/download/6.7/m2/. Folks may not know that it is easy to start doing Java EE 5 development against recent v3 promoted builds by using the information that you can find here: http://blogs.sun.com/vkraemer/entry/7_0_and_glassfish_v3. Please give it a try."
Current and upcoming Java
- February 27-March 1 - 2009 Greater Wisconsin Software Symposium
- March 2-6 - Java Posse Roundup 2009
- March 6-8 - 2009 Gateway Software Symposium
- March 16-20 - Java Training Philippines
- March 18-20 - TheServerSide Java Symposium
- March 20-22 - 2009 New England Software Symposium: Spring Edition
- March 23-26 - EclipseCon 2009
- March 23-27 - Java Power Tools - Sydney Australia
- March 30-April 3 - Java Power Tools - Wellington New Zealand
- April 3-5 - 2009 Great Lakes Software Symposium: Spring Edition
- April 3-5 - 2009 Pacific Northwest Software Symposium: Spring Edition
- April 6-10 - JAX India 2009: International Conference on Java Technologies
- April 13-17 - Java EE Training Philippines
- April 20-24 - Java Power Tools - Melbourne Australia
- April 20-24 - JAX 2009
- April 24-26 - 2009 Northern Virginia Software Symposium: Spring Edition
- June 2-5 - JavaOne 2009
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.
Questioning the value of a "Swing 2"