First off I should own up to something, I've been on the Java SE 6 JSR group but I'm going to comment only on the publicly available information, but don't expect it to change too much.
Secondly I've got a few prejudices about development, these come from broadly three sources
1) The Mythical Man Month
2) Having Ada, Eiffel and C as my first three "commercial" languages
3) Working on projects with tens, or even hundreds of developers
So Java SE 6 is now in beta, and its got lots and lots of "cool features" to attract the Slashdot crowd. As someone whose applications are mainly
1) Developed by lots of people in different countries
2) Expected to be maintained for years by different people
3) Run remotely on Servers
This means that what I use are things like J2EE, Spring, Struts and all those application container frameworks out there. I'm used to selecting the technology mix that we will use on the project and picking the 3rd parties libraries, products or projects that will be used. And when selecting those technologies one of my major considerations is how to LIMIT functionality being used in the wrong way.
What I have problems with is "clever" developer code that is a bugger to maintain, and people going for the Shiny Nickel Anti-pattern, and using things because they are "in the specification" so they must be right. The other problem I have is that underneath my nice application container there are a huge raft of Java standard libraries that not only don't I need, but which I definitely don't want being called (Midi sound from J2EE anyone?).
So what are the highlights of Java SE 6?
Security - Kerberos, JAAS & Smart Card. Well if I've got J2EE then I've got this already, if I've got Spring its not exactly a leap, so no bonus here.
Integrated Web Services - Oh great, because it was SO hard to use Axis or Web Services in J2EE anyway. Worst of all this doesn't just mean CALLING web-services, it includes call-backs, that's right folks every single Java application will have a Web Server embedded in it with Java SE 6. I can see security people all over the world updating their recommendations on Java for the desktop. This is before we get to the challenge of doing asynchronous programming in a standard Java app, a problem that makes multi-threading (which most people can't do) look simple.
Enhanced Management - Now includes a bit more monitoring and a link to Solaris, whoopee.
Increased Developer Productivity - Absolutely rubbish, everything that has gone in is around bells and whistles, there is nothing about helping developers, putting in async coding models is about as far away from productivity as you can get. There are no elements for instance that help IDEs work better with Java, nor are there any elements that add more productive language features.
Improved User Experience - Great some desktop improvements, what a huge bonus on my remote server.
So with Java SE 6 its now official that Microsoft were right (and the DoD and language research people wrong) that multi-language development is a good thing(tm).
The good news is that Java SE 7 might focus more on the multi-billion dollar market than the Slashdot crowd.
Its about time that Enterprise Java projects, whether in Spring, Java EE or whatever had a basic Java platform that doesn't include all the crap aimed at creating a platform that "proudly" boasts more bells and whistles than .NET. In the same way as having GUI code in the kernel of an operating system is a bad idea(tm), its a dumb idea for the Java core.
We need a core platform that just includes the basis, we need a Java Desktop version that includes the GUI. Enterprise projects can then just use the extras that they want, and not have to cope with the crap that they don't. With SWT and the like being used more often its time to admit that some people might not want all those Swing libraries. Almost exactly what Sun do already and no I don't know what that isn't a sensible strategy either.
Time to start lobbying for Java SE 7 code named Dolphin - the enterprise release?
* - bad idea(tm) is a trademark of Microsoft Corp