Preview of Java 1.5
gafter writes "An early access prototype implementation of
the proposed new J2SE 1.5 language features is
available. The prototype includes
generics (JSR 14),
typesafe enums, varargs,
autoboxing, foreach loops, and static import
(JSR 201). In other words, all the new language features
planned for 1.5 except
metadata (JSR 175). The
prototype includes full sources for the compiler,
written in the extended language. You can download the prototype from
java.sun.com.
It requires J2SE 1.4.1 and provides some examples of how to use the new language constructs. The prototype includes an experimental type
system (variant type parameters)
for Generic Java that is being considered
for Tiger (1.5) based on a paper by
Igarashi and
Viroli at ECOOP 2002 .
Comments and votes for the new type system are
being gathered at
bugParade."
Interpreters are great for scripting languages. For languages that are intended for general purpose use and especially for situations where performance/efficiency is important they're just a BAD idea.
.NET is something I don't forsee myself having anything to do with.
Java can walk on water and I'm still not going to use it to develop anything I expect anyone to use. Give me a native optimizing compiler and I just might reconsider.
Needless to say
Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
Now that's really thinking for yourself. What will you do when
This is firm proof that Java has lost the lead on the evolution of managed languages. .Net / CLI has surged ahead, both in terms of the expressiveness of its intermediate language (MSIL can express ALL of the C++ semantics, including all unsafe operations), and in terms of the usability and expressiveness of its primary managed language -- C#.
Java is now in the position of copying features from C#. I'm sure Sun will very carefully cull any mention of C# from its press releases, and will position all of these "new" features as their own "innovations", when they've been present in many other languages (not just C#) for years.
Java is dying. It is no longer the premier managed language / environment, and the performance of even the best Java VMs/JIT compilers and runtime libraries is demonstrably inferior to Microsoft's .Net framework / CLI.
I, for one, think this is HILARIOUS.
The only thing that remains, is for Microsoft to integrate its prototype generics support into the mainline C# release. And I'm sure we'll see that quite soon, considering how strong the interest has been in the Cambridge research division's Rotor-based prototype of C# generics.
Still waiting for Java to support design by contract, though.
Maybe some day we'll even see value semantics (har har).
But, for now, Java is great for little applets running in a web browser...and maybe introducing little kiddes to software development. For large-scale software development, C++, C, or Eiffel are king.