Skip to main content

Seeking grand challenges

Posted by daniel on October 7, 2003 at 3:52 AM PDT

How do you go about finding a grand challenge? The problem has to be worth solving and, to be grand, should require significant effort with a hope of being solved.


Today in Projects and Communities,

the Java Patterns community links to an article on The Grand Challenges for computer science .The actual criteria for a Grand Challenge are that it "be a 15-year project with international participation. There should be a clear evaluation of success or failure, and it should offer fundamental and radical advances in basic science or engineering."

A UK expert panel is kicking off seven projects with the hopes that one or more of them will be able to graduate to the Grand Challenge level. One project looks to organize the mountain of digital data that you will accumulate throughout your life. Another project concerns Global ubiquitous computing based on the idea that "Within 20 years computers will be ubiquitous and globally connected."

The article ends by citing previous grand challenges:

  • "Human Genome Project - achieved
  • The Turing Test - outstanding
  • A championship chess programme - achieved
  • To find a cure for cancer within 10 years - failed in the 1970s
  • Unify the four forces of physics - in progress "

We also point to JGoodies , our project spotlight for the week. Follow the links to check out the freely downloadable look and feels available from JGoodies . Screenshots are available from the "look" subproject.


In his Weblog entry today Simon Brown praises HttpClient - another great Jakarta Commons component. Rather than implementing HTTP POSTs himself, Simon recently discovered how easy it is to use the Jakarta Commons HttpClient. In a talkback, ajsutton adds that "The best starting point for HttpClient is to read the tutorial. It's available at http://jakarta.apache.org/commons/httpclient/tutorial.html and outlines the right pattern for HttpClient usage. "

David Walend continues the thread that includes arguments on both sides of the exception issue. In Design for Exceptions David writes

Unlike the rest of the API, which gets defined during design, I've found exceptions tend to bubble up from implementation. Sometimes it's obvious that something will go wrong at design time, but often I need to create some new exceptions while implementing the code. Plus I like to create very descriptive subclasses of my abstract exception. Specific subclasses make it easier for code handling the exception to determined what failed and how to react. That's what Dr. Gosling means by, "... in a throws clause ... be as specific as possible."

David also refers to Felipe Leme's latest blog entry It's time to move on. Felipe notes that even if Tiger (J2SE 1.5) were released today, it's going to take a long time before we see adoption in major applications. He point out that J2SE 1.4 is in its third version and despite how long it has been around, there are plenty of applications that still use 1.3. He predicts that "with Tiger and its language changes, this situation can be even worse, as the IDEs have to adapt themselves to these changes."


In Also in Java Today popular culture makes its way into tech writing with Larry O'Brien's Java Eye for the .NET Guy . Larry's article is in a series on Windows and .NET and reminds the community that there is plenty that the .NET programmers can learn from the experience of Java developers. Get past the opening paragraph and comments such as "Of course, there are those who’ve accused .NET of being a rip-off of Java from the start" and you will get to the Java-friendly parts. After several observations about technical areas, O'Brien says the following about community

Finally, and this is the area that I most wish has some impact: The Java world is a real community. Microsoft bends over backward in order to try to create communities, but the Java and open-source communities are more organic.

Perhaps this is just an accident of history, a reflection of the longer time that Java and open-source projects have been around, as well as an artifact of a time when hanging out and enthusing about technology paid well (and went by the name “business development”).

Qualities of a Good Middle-Tier Architecture is Satya Komatineni's most recent ONJava article. In it he writes

The two primary activities in a middle tier are reading and writing data. Reading data involves retrieving the raw data based on input parameters, massaging the data, and delivering the data in the requested format. Writing data involves manipulating the data stored, using certain business rules and processes. In a sense, the write operation changes the state of the database server.

Satya then goes on to describe the attributes he looks for in the middle tier including his list of the big easy's: easy to call, easy to discover, easy to monitor the response, and easy to create a new component.


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 by news director Steve
Mallet 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 Java Events:

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.


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. Once this page is no longer featured as the front page of href="http://today.java.net"> Java Today it will be archived at href="http://today.java.net/today/archive/index_10072003.html">
http://today.java.net/today/archive/index_10072003.html. You can
access other past issues in the href="http://today.java.net/today/archive/">java.net Archive.