Lambda the Ultimate

inactiveTopic Java 1.4.0 SE Released
started 2/13/2002; 6:55:53 PM - last post 2/15/2002; 8:17:01 AM
Dan Moniz - Java 1.4.0 SE Released  blueArrow
2/13/2002; 6:55:53 PM (reads: 405, responses: 5)
Java 1.4.0 Standard Edition went official (from Java 1.4.0 RC 1) today, and likely not too long ago either. More details (including download links) available from

Ehud Lamm - Re: Java 1.4.0 SE Released  blueArrow
2/15/2002; 1:33:26 AM (reads: 409, responses: 1)
So what would you consider to be the most important enhancement?

Adewale Oshineye - Re: Java 1.4.0 SE Released  blueArrow
2/15/2002; 4:38:32 AM (reads: 430, responses: 0)
In terms of the language they've chickened out of making the one change that most developers would like to see--namely generics. All you get is assert and lots of people had written their own assert method anyway.

The important changes are in the API. The new IO library is going to have the most impact simply because it makes it possible to write high-performance servers that use java as opposed to native code. This is going to make it significantly easier for app server vendors to ship the same product on different platforms. They can write an all-java solution rather than platform specific C or C++ code for things like sockets. This NIO library includes features like memory-mapped IO and the ability to use more features of the underlying OS such as polling or asynchronous requests. Given that most of the people using java are in "enterprise" development then this feature will affect the largest amount of developers. The second most import change would probably be webstart. This is basically an attempt to re-implement the basic idea of applets but incorporate the lessons learned from that experience. It seems that Java the language is getting more and more resistant to change and unless .net really takes off then ideas like generics and even AOP aren't going to become part of the standard language.

Ehud Lamm - Re: Java 1.4.0 SE Released  blueArrow
2/15/2002; 4:50:49 AM (reads: 384, responses: 2)
Aren't generics scheduled for 1.5?

Adewale Oshineye - Re: Java 1.4.0 SE Released  blueArrow
2/15/2002; 6:49:57 AM (reads: 403, responses: 1)
You're quite right. However generics has been scheduled to be introduced in "the next version" for some time now. Sun has had a prototype implementation floating around for years and the JSR [] has existed for some time too. Something always seems to come up that derails the introduction of generics.

I think the interesting question is: how much should a language change in it's lifetime? Something like Python is very fluid by comparison with Java where there is a clear intention to resist changes to the language.

Constant language change runs the risk of breaking the existing body of code but in a fiercer competitive environment (such as perl vs python vs ruby vs php or even java vs c#) language designers seem to be under more pressure to enhance the language rather than just its APIs.

What kinds of changes do people forsee happening in the design of java as a language if and when c# starts competing for mindshare? Secondly what kinds of changes would people like to see in the design of the java language? Are there features in other languages that could be introduced to java without fundamentally altering its nature?

Ehud Lamm - Re: Java 1.4.0 SE Released  blueArrow
2/15/2002; 8:17:01 AM (reads: 435, responses: 0)
To continue the discussion of generics, I am a big fan of generic programming. Indeed, I mentioned the Java generics, the JSR etc. here many times.

One of the reasons I don't like Java for teaching about software engineering is its lack of generic programming facilities.

My favorite anecdote about this is that I am constantly seeing students adding an incompatible_type excpetion to the specification of collections in Ada, which is strongly typed, beacuse of prior experience with the (broken) Java model.