Skip to main content

Shipping quality

Posted by daniel on February 22, 2005 at 5:35 AM PST

"Our industry is hideously unprofessional."

In Also
in Java Today
, Robert Martin hopes that there is no href="http://www.butunclebob.com/ArticleS.UncleBob.TheNextBigThing">Next
Big Thing in an article that includes the quote on
unprofessionalism. Modular programming, structured programming,
object-oriented programming, agile programming - all things of the
past. Looking forward, Bob writes that he hopes "the next big thing is
the big thing that we've needed for the last thirty years and haven't
had the guts to actually say. I hope the next big thing is
professionalism. Perhaps a better word would be Craftsmanship."

Uncle Bob continues, "There are some very professional programmers
out there. There are professional teams, and even professional
software companies. But they are the exception, not the rule. The
rule, the exasperating repetative depressing rule, is that software
products are late, over budget, and buggy. Companies who hire
programmers don't really know what a programmer is, so they hire just
about anybody and tell them to write code. Then they don't look at the
code they write."

What do we do about it? A talk back respondent points to the
difficulties of doing anything. He points to an analog in another area
in which craftsmanship was once the norm. "Once, furniture was always
hand-crafted and it was obvious when the craftsman took a professional
pride in the job. These days, most furniture is mass-produced often
poorly finished and the focus is on minimising cost rather than
maximising the value to the consumer. Certainly one can still pay for
hand-crafted quality furniture, but it is hardly the norm."

In href="http://java.sun.com/developer/JDCTechTips/2005/tt0118.html#1">
Let There be Z-Order, John Zukowski writes " z-order only matters
when the components overlap. In this case, the program disables the
layout manager and manually positions the components. When components
overlap, be sure their container returns false from the
isOptimizedDrawingEnabled() method that is inherited from
JComponent. This ensures that lower z-order components are not drawn
on top of higher components."


William Wake shares a technique which uses an anonymous subclass to
load constant data in today's
Weblogs
. For details, check out his href="http://weblogs.java.net/blog/wwake/archive/2005/02/anonymous_subcl.html">
Anonymous subclass with instance initializer.

John Reynolds shares some thoughts on href="http://weblogs.java.net/blog/johnreynolds/archive/2005/02/pragmatic_web_f_1.html">Pragmatic
Web Forms: WebForms2. I reports that he "recently came across a
discussion of WebForms2, and after checking out the links I've come
away pleasantly optimistic that building form-centric web applications
is about to get simpler."

Tim Boudreau is prepping for an internal presentation and shares href="http://weblogs.java.net/blog/timboudreau/archive/2005/02/povray_support.html">
POV-Ray support for NetBeans...and pix from the road. He says that
"POV-Ray scene language makes a
nice demo for explaining how to do some things. So NetBeans now has
POV-Ray support (screen shot in blog)"


In Projects and
Communities
, the href="http://community.java.net/portlet/">Portlets community
points to a tip on the similarities and differences between href="https://portlet.dev.java.net/files/documents/1654/11398/tip4.html">
Portlets and Servlets.

The Java Patterns
community points to TheServerSide thread on the href="http://www.theserverside.com/news/thread.tss?thread_id=31521">
Difference between FrameWork and DesignPattern.


Sandoz suggests href="http://forums.java.net/jive/thread.jspa?messageID=11554&tstart=0#11554">
The DOM needs to be extended in today's href="http://forums.java.net/jive/index.jspa">Forums. "Working
out what algorithms apply to what sequence of characters without some
hints is a tricky problem to solve in a performant manner and also may
have some unwanted side-effects."

Ulfzibis writes "There are examples in the API where exceptional
situations are not handled by Exception and must be href="http://forums.java.net/jive/thread.jspa?messageID=11535&tstart=0#11535">caught
by boolean query :

boolean java.io.File#renameTo(File
dest)
If the renaming fails, no Exception is thrown. You must
test the return value for true."


In today's java.net
News Headlines
:

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page using
our news submission
form
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News
RSS feed.


Current and upcoming href="http://www.java.net/events"> Java Events :

  • February 28- March 3, 2005 href="http://www.eclipsecon.org/">EclipseCon
  • March 3-6, 2005 href="http://www.theserverside.com/symposium/index.html">TheServerSide
    Java Symposium
  • March 14-17, 2005 href="http://conferences.oreillynet.com/etech/">O'Reilly Emerging
    Technology Conference

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 site.


Archives and Subscriptions: This blog is delivered
weekdays as the href="http://today.java.net/pub/q/java_today_rss?x-ver=1.0">Java
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.

"Our industry is hideously unprofessional."