Carlos has an interesting post about my rantings, telling me I'm completely wrong about my assumptions of MS Tech:
First, VS.NET isn't the best IDE out there, if you're into serious programming rather than just building UIs then VS.NET doesn't hold a candle against Eclipse ( see my viewlets for inspiration and the grass roots development of eclipse plugins). Second, WinForms doesn't kick Swing's ass, take a look at this Javalobby post. Not that Swing is deficient, quite untrue see www.jgoodies.com and tsc. XUL isn't the answer, SWT/Swing integration is the answer. As a matter of fact, just to see where things are going you should take a look at the Java2D/SWT integration, its pretty cool. For complex GUIs, Swing is a hands down winner.
Speed? If speed were so much of an issue, then Java wouldn't have the light of day. Furthermore, I seriously doubt that Microsoft can create a VM that would be twice as fast as the fastest JVM, at most it'll be a fractional improvement. Finally, speed is acheived by good design and architecture, a good JIT helps, however most of the gains come from design. Contrast the performance of IntelliJ over NetBeans, both are built with identical technologies (Swing) however, IntelliJ seems to be snapier and more responsive. It took a while for Java developers to understand how to develop large OO programs, today we do know how, Microsoft's programming staff will take just as long to figure it out.
So, if you think Java is in trouble, I suggest you think again. The java blogs alone links to loads of extremely innovative Java projects, most of them open source. Try finding that kind of innovation in the .NET world, it simply doesn't exist! Just because they've done ports of JUnit and Ant doesn't mean that they're making progress, it just playing catch up. ...
Hey. I don't mind being told I'm wrong about some of this stuff at all.. ;-)