Skip to main content

Time to deprecate javac?

Posted by daniel on October 13, 2004 at 10:28 AM PDT

The Mustang Forum rocks on.

If you have been following the discussion forums this last week, you have seen tons of suggestions for what is important to Java developers for the J2SE 6.0 "Mustang" release. The topics have been wide ranging and the resulting discussion has pointed to a lot of deep thinking in the community.

In today's

Forums
, Bruce Chapman waits for the laughter to
subside after he suggests we deprecate javac and then he
explains "5.0 has a new tool "apt" which is a better javac. It
allows us (mere mortals) to run our own code inside the
compiler which can examine the source being compiled (via
mirror API - similar to reflection or javadoc API), generate
other code (sourcecode which will then be compiled, as well as
bytecode if you have the inclination), and generate compiler
errors if we detect something out of spec."

TSinger's suggestion is " href="http://forums.java.net/jive/thread.jspa?messageID=1311&tstart=0#1311">
'const' applied to methods, references are an absolute MUST HAVE
for medium-sized to large applications. Maybe one can apply the
"const" to classes/interfaces as well to enforce immutable
objects."

Opinali adds "My #1 wish for Mustang is simple: "int[2,3]
matrix". I was once in favor of JSR-83 (Multiarray package), but now
that the Java language is more open to syntax improvements, we can
just drop that JSR. We don't need a full-blown Fortran clone (BLAS
libraries, etc.) bundled with every JRE, less than 1% of Java apps
need this kind of functionality. We need only the most fundamental
feature: href="http://forums.java.net/jive/thread.jspa?messageID=1234&tstart=0#1234">
multidimensional arrays in the core typesystem."

Add your thoughts to the Mustang forum discussion.


Is it time to give up emacs? In today's href="http://weblogs.java.net/">Weblogs, Tom Ball writes
about href="http://weblogs.java.net/blog/tball/archive/2004/10/new_tricks_for.html">
New Tricks for Old Dogs. He says that he, a NetBeans developer,
has moved over from using emacs to NetBeans for his own
development. His admission of what he's used in the past led me to
read his post about his recent move a little more carefully.

Andreas Schaefer reports the continuing existence of what he calls
a bug. Others are not so sure. In href="http://weblogs.java.net/blog/schaefa/archive/2004/10/cloneable_how_a.html">Cloneable:
How an old Bug can bite for a very long time he points out the
missing public Object clone() method in
java.lang.Cloneable.

Wow, it's only been out a month or so but Inderjeet Singh blogs
that "Airport Express is one of the favorite gadgets for techies." In
href="http://weblogs.java.net/blog/inder/archive/2004/10/resetting_airpo.html">
Resetting Airport Express he lists "the different ways to reset it
since that is frequently used (though hard-to-find) operation when
things go wrong during hacking."


In
Also in Java Today
, Heinz M Kabutz is sharing his
version of a thread warning system in href="http://www.javaspecialists.co.za/archive/Issue093.html">
Automatically Detecting Thread Deadlocks . He writes that he
has created a "new warning system, that notifies me if we have too
many threads. In order to not get too many notifications, I take
the approach that you get one warning when we pass the thread
count threshold. If you slip below the threshold, and go above it
again, you will get another warning notification. This is the
same approach taken by the memory bean. Better would probably be
to have a high- and low-water mark. In addition, it can also tell
if there are deadlocked threads. "

One advanced topic getting more attention is bytecode manipulation,
and among the various entries in the field, the ASM toolkit is
particularly successful. Projects such as Groovy, BeanShell and
AspectWerkz now use ASM, thanks to its light weight and high
performance. In href="http://www.onjava.com/pub/a/onjava/2004/10/06/asm1.html">Using
the ASM Toolkit for Bytecode Manipulation, Eugene Kuleshov
introduces an interface and uses bytecode manipulation to implement it
in arbitrary code.


In Projects and
Communities
, the href="http://community.java.com/jini/">Jini community's href="http://thor.jini.org">Thor project allows "Jini services
to retrieve runtime configuration information across the network,
but allow that information to be administered in a central fashion
(i.e. an adminstrator at his PC)."

href="http://weblogs.java.net/blog/gonzo/archive/2004/10/myjxta_231a_1.html">
MyJXTA is available via JNLP and features some JDNC components. Up
next, "adding style sheets, trimming content and setting widget
preferred sizes but at this point the hard work looks to be behind
us."


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
Java Events
:

  • October 15-17, 2004 href="http://www.nofluffjuststuff.com/2004-10-atlanta/">Atlanta Java
    Software Symposium
  • October 19-22, 2004 href="http://www.educause.edu/conference/annual/2004/"> Educause
    2004
  • October 19, 2004 href="http://www.jxta.org/servlets/ReadMsg?msgId=109045&listName=discuss">
    JXTA Developer Kitchen

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

The Mustang Forum rocks on.