Which is best

Both are free. That's what I call cheap.

I'd go for .net. It has a far greater functionality for working with Windows than Java. And you can choose whichever programming language suits you. (C# would be my favourite.)
 
Do you need any specific deployment platform for .NET web apps? Do you need to pay for them? How about the development tools? I'm really just asking, because I'm more of a Java developer. I know some tools (even in my Java world), although free for personal/academic use, can cost a lot if you want to create "professional" (even not-for-profit) applications. But from the little I know about .NET (and most of MS Tools/Tech), they do make stuff much easier on operators whether developers, syadmins or DBAs.
 


Microsoft offers an free version of their IDE's... Express I believe? There's also MonoDevelop for Linux.
 
Deployment of .NET web apps is easiest with an IIS web server, but with ASP.NET from the Mono project you can run them on Apache.

Development tools are free from Microsoft (or again the Mono project). If you like doing things the hard way you can do it all with notepad and the C# compiler (which is a free component of the .NET development platform), but as Pyroflea said, most people would plump for Visual Studio Express.

The beauty of .NET is the very rich framework that it supplies.
 
From the Microsoft Visual Express FAQ:
Can I use Express Editions for commercial use?

Yes, there are no licensing restrictions for applications built using Visual Studio Express Editions.

The Professional versions have more functionality than the Express versions.
 
In terms of the language features, C# for sure.

In terms of documentation, imho, Java blows C# out of the water.

Personally, i tend to code in java and c++ while in linux, and C# for anything windows related.
 

TRENDING THREADS