I don't do any anlysis on the subject, it's about human insting. I do hate Java since I use it in my AMD 586 in late 1998, the Java Virtual Machine are memory and processor hog. Despite of that, Java concepts are cool and many implemented the class & object related into others language. Java is the OOA & OOP language father.
When I saw the first version of C#, I fall in love, I don't know why. C# is fast enough for me and I like the coding style which require higher degree of details, I am not good at detail and luckily C# force me to keep on eye of details. We have .NET Framework and Mono. Visual Studio Express edition is free and you have no reason to tell that C# is expensive.
I heard that .NET especially C# couldn't replace the Java. I don't agree with it at all, C# language fundamental is mature but the new features always added. We could also programming any device we want, because the Communication to Device already supported by .NET Framework it self. The interoperability between language switch also supported on .NET, you have one team do UI in VB.NET, the master programmer do DLL development in C++ and other do WebService in C#. It's no longer a big problem, because the CIL. So it will result in same intermidate language which shared the .NET Framework.
I heard confusing name which not reflected the functions of an application in Java like WebLogic and JBoss. I don't understand what the heck is that. I really care about one ultimate programming tool that could be exploited to the limit. I don't want to learn some new framework build on a framework, it's really wasting the time.
PHP does have similar problem, we know a lot of framework and people are looking the best. Zend the official PHP developer also questioned about the good of their framework. How that could be happen? there's PEAR and many people refusing use PEAR because it's monolithic architecture, but that's good!. Search on the google and type this keyword "Best PHP Framework" and happy to choose one of them. I understand open-source spirit, but without direction it will come the big mess up. The hosting company also involved in creating problem on PHP development. If open-source is cheap or even free, so you could upgrade the hosting services regulary. You might said that not just simple, yes of course. That's why we paid for hosting company, because we believe on their expertise.
PHP is not yet enterprise class language before the PHP 6.0 is released. I am not scare you, but if you are new developer, you must start to learn how the OOP works, you must learn how programming flow is done in better way. PHP 6.0 is the version I waiting about and I will glad to use it. The future of PHP 6.0 makes people need to learn programming really hard and in the business perspective it will bring a quality products because the developer need understand what they should do in their development time. It's managable and could also in pseudo. PHP 6 should had its own Class/Objects library. This will reduce the confusion.
Ruby on Rail and .NET Framework is great of development tool. I vote for both of them for 1# 2007 development tools. Java is #2, and PHP is #10 because the mess.