Skip to main content

Evolving a Language

Posted by daniel on September 14, 2004 at 9:49 AM PDT

What features should be added to the Java language for Dolphin (7.0)?

Graham Hamilton blogs that key to the design of the Java
Language is the principle that "It is more important that Java
programs be easy to read than to write." In href="">Evolving the Java
Language, Hamilton looks at the lessons from C++ where power
and flexibility were key to the design.

My initial reaction to many of the changes in Tiger is that they
make Java programs harder
to read. It may just be that I am unaccustomed to them and that
with time these idioms will make life simpler. Hamilton writes "For
Dolphin, as for Tiger, a lot of people both inside and outside of
Sun will be involved in reviewing any language change proposals. The
detailed designs will be handled through the JCP. But my suspicion
is that we'll probably continue to stay very conservative on
changes, as each little change also carries its little wad of
additional complexity. We're unlikely to add a macro preprocessor
(sorry) or any general form of operator overloading, or full-blown
AOP, or any other mechanism for redefining and obscuring core
semantics. But we will look for new language ideas that help
developers with common problems. For example, one area I'm
personally interested in is some kind of 'friends' import mechanism
to make large multi-package projects easier to manage."

Hamilton's lastly addresses the important point that, although many of
us like the Java language and intend to program in it for quite a
while, there are other languages that can run in the JVM. There may
be ideas that are incompatible with Java but not with the JVM and
that should be incorporated in a new language that runs on the JVM.

Also in today's
Daniel Brookshier gets to meet the
new JELC Board
and is reminded of the wisdom of
his great grandfather, "Desert Steve" Ragsdale. Malcolm Davis
compares the href="">Conflicting mindsets of C#
vs. Java.

Also in
Java Today
, Edd Dumbill reports that news " from the
W3C of a new rash of web service specifications. I tell you,
not even King CORBA in all its glory was clothed with specs
such as these!" In href="">
Fallacy and Lunacy, Edd summarizes and comments on Roger
Costello's summary of "Fallacies of Validation." He also turns
his attention to SOAP and ends with the following send up
"SOAP specs have little specs upon their backs to spite 'em
And little specs have lesser specs, and so ad infinitum ."

"Object slicing is defined as the conversion of an object into
something with less information (typically a superclass). [..]
Object slicing throws away information. But in some situations
this may be exactly what we want." In href="">Object
Slicing and Component Design with Java, Constantin Gonciulea
reminds us that "In Java, objects are passed by reference, and all
methods are virtual, so object slicing will not occur
inadvertently. Even if you upcast an object, its real type is not
forgotten". He looks at how and why you would use Object Slicing
in Java coding.

Projects and Communities
,the left column of the
community home page features a list of upcoming JUG meetings
from around the world. Add yours to the list.

Join the JavaLive chat on href="">Java
BluePrints for SOA and get questions answered September 14.
11:00 A.M. PDT/6:00 P.M. UTC.

The Chapter in our bookclub selection on href="">
to make wealth leads today's

. Jonathan Simon writes "This one had some
very personal
overtones for me. I enjoyed the discussion at the beginning of
the chapter about how wealth is generated, but I was more
taken by the discussion of measurement and leverage." The
remainder of his post discusses jobs where one or the other
was present.

In href="">
the Dream Language, JavaKiddy adds that "What I forgot to
stress in my original posting was that the Amiga people did just
that: in the developers documentation they made a big deal about
not bashing the hardware. Some programmers did it anyway - which
encouraged others to do the same (because after all you want your
software to be as cool as the next guy's, right?) Before long it
was commonplace."

In today's
News Headlines

Registered users can submit news items for the href=""> News Page using
our news submission
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href="">
News RSS feed.

Current and upcoming
Java Events

Registered users can submit event listings for the href=""> Events Page using our href=""> 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
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.