I don't like to be biased but some of my observations:
1) .NET is limited to windows (MONO/WXC# and some other flavors are alternative but still official support for .NET is limited with windows only)
2) Java is open source/many languages like flash/actionscript/flex/AIR support it extensively.Java has its ecosystem around neat stuff like mysql[now] and can build applications for linux flavours too. Java is free. You can use it to build an open source product and can later charge for services of that product.
3) C# combines features of C++ and java. So it is powerful but yet not preferred by companies, as more and more companies are moving to open source from than Microsoft standards.
4) Because of apache and similar open source project, support and software for java platform is likely to rise than .NET
5) Learning curve for java is much easier as compared to C++/C# as many concepts which found in these language are removed from its ease of use.
On a more technical note. Both java and .Net today solve different solutions. [ they do coincide but have very different usages.] for user experience and higher productivity /latest features and full realisation of oop paradigms go for .net framework.
For higher architectural strength / platform nonspecific[independent] and coherently stable requirement choose Java.
There is no language in this world which has seen a decline in its acceptance rate. infact languages such as cobol and pascal were written with a specific purpose in mind and they have not been replaced as yet.
Java is based on object orientation so soon adapted to suite to be the web langauge. During the same time as java php was developing and infact it had more market share than java[applets]. JSP is a good language and so is php .. ther eis not comparision with respect which is going to outlive the other.We still have more php based websites in the world then we have in JSP.
At the End:
Never worship a language. worship programming.Pascal is a methodology. php is a another type of methodology. no one can outlive the other. some languages are good for common use internet use. similarly some are easily available.some are easy to learn. etc etc . "No language is supreme".
Edited by mahesh2k, 02 December 2008 - 10:24 AM.