The first major difference between the two architectures is portability. . NET is a Microsoft product that works with Microsoft Products. Java claims to be a “Write once, run anywhere” product. This is not completely true, but very close. Java has the ability to be written one time and used in any environment, not just Microsoft. I personally consider this a pretty big advantage. Having an application that can run on pretty much anything is pretty nice you are not limited to just Microsoft. This gives corporations negotiating power. They can always move their application to another vendor’s platform, or at least threaten too. Being tied down to one platform seems to really make you a slave to Microsoft. On the other hand I understand the idea of .NET being written specifically for Microsoft so they can be fused together in a more usable way. Anytime something is created strictly for a certain platform it can be really specialized to the product and makes for a very finished feel.
The next thing I would look at is the complexity of the application being built. . Net seems to have tools that are easier to use and creates great graphical interfaces, while Java is more complex to use. Java being more complex allows for more complex applications. Java just has