Java
Strengths:
• Runs on any operating system and application server (may need adjustments)
• Handles complex, high-volume, high-transaction applications.
• Has more enterprise features for session management, fail-over, load balancing and application integration
• Is favored by experienced enterprise vendors such as IBM, BEA, SAP and Oracle
• Offers a wide range of vendor choices for tools and application servers
• Has a proven track record
Weaknesses:
• Has a complex application development environment
• Tools can be difficult to use
• Java Swing environment's ability to build graphical user interfaces has limitations
• May cost more to build, deploy and manage applications
• Lacks built-in support for Web services standards
• Is difficult to use for quick-turnaround, low-cost and mass-market projects
.NET
Strengths:
• Easy-to-use tools may increase programmer productivity
• Has a strong framework for building rich graphical user interfaces
• Gives developers choice of working in more than 20 programming languages
• Is tightly integrated with Microsoft's operating system and enterprise server software
• May cost less, due in part to built-in application server in Windows, unified management, less expensive tools
• Has built-in support for Web services standards
Weaknesses:
• Framework runs only on Windows, restricting vendor choice
• Users of prior Microsoft tools and technology face a potentially steep learning curve
• New runtime infrastructure lacks maturity
• Questions persist about the scalability and transaction capability of the Windows platform
• Choice of integrated development environments is limited
• Getting older applications to run in new .Net environment may require effort