James Gosling, vice president
and fellow at Sun, known as the "father" of the JavaTM programming
language, answered questions submitted by members of the Java Developer
ConnectionSM (JDC) Program.
According to Gosling, if it were possible to do anything involving the
development of the Java programming language differently, his preference
would be to make classes behave more like primitives, which would perhaps
make operations like autoboxing less problematic, especially when it comes
to issues like identity.
With respect to the features that come with each new release of the Java
programming language, Gosling finds their number manageable and their
character stable. What concerns him is the proliferation of APIs that have
attached themselves to JavaTM 2 Platform, Standard Edition (J2SETM).
Since each of these is the favorite of one developer or another, Gosling
said, he would be at a loss over which to eliminate.
The trend in Java technology that interests Gosling most is its
increasing use in embedded systems like cell phones, automobiles and other
realtime systems that developers can build end-to-end. Here, using the
JavaTM virtual machine makes a developer's job easier unless time
constraints are very tight, in which case the Java platform realtime
specification comes into play. He is also encouraged to see the effect
of the NetBeansTM software project on developer productivity because
of the success of the NetBeans software API that ties together such things
as Unified Modeling Language (UML) and cogeneration wizards in the same
platform.
Fledgling developers would do well to study, not just the Java technologies,
but the refactoring and pattern books, as well as algorithms and their
analysis, Gosling maintains.
Gosling also explained the distinction between interfaces and classes,
noting that as the reason Throwable and similar tools are not used as
interfaces. Every exception that is thrown, Gosling emphasized, must be
associated with some state, which cannot be done with interfaces but only
with classes. He characterized the practice of throwing general objects as
a bad idea. Things that are thrown need to be things intended to be
exceptions since they are not general data structures, he asserted.
Finally, asked whether it was possible to submit the Java technology
bytecode to a standards body like the European Computer Manufacturers
Association (ECMA), Gosling observed that submittal had been attempted and was
unsuccessful. ECMA had published a report, he said, which makes
interesting reading. Version 12 of the ECMA CD will be available at the end
of April.
For further information on the ECMA findings:
http://www.ecma.ch
[...read more...]