Carlos has been posting "101 reasons why Java is better than .NET". A summary of the reasons mentioned so far:
1. Run on Multiple Platforms from the Smallest Devices to the Largest Mainframes. 2. Run Dynamic Languages 3. Compile in One Platform Run in Another. 4. Smaller Runtime Download 5. No mandatory upgrades. No subscription fees. No software insurance fees. 6. Run Multiple Versions of the VM (Runtime) on the Same Machine 7. Large Innovative Open Source Community 8. Low cost Commercial Quality IDE's 9. More Available Jobs 10. Better and Standardized Connectivity to Legacy Applications 11. Multiple Vendor Choice and Support 12. Compile to Machine Code 13. Future Proof 14. Most Popular Language in the Corporation 15. Larger Talent Pool 16. More Contributions From R&D Organizations 17. Government Approved 18. More Homogeneous and Less Complex Environment 19. More Deployment Options 20. More Searchable References 21. Better support for Software Process Best Practices 22. Mature Object Oriented Relational Mapping Tools 23. More Productive Coding Tools 24. Cross Platform Integration with Other Languages 25. Higher Paying Jobs
Not all are that impressive IMO (but we'll see what the other 76 are telling).