I am new to CS and I don't hear a lot of hackers use asp.net for their web app, aside from hosting costs(win servers), what other disadvantage does ASP.NET has?
There is nothing wrong with ASP.NET. The guys at Microsoft who write the developer tools are second to none. The wide availability of excellent books and the choice of languages makes this option well worth considering. The .NET framework itself is great with all the functionality you might want.<p>The downside as I see it is what I call the "upgrade treadmill" imposed (I assume) by the MS Marketing types - you will be pushed ever onwards once you start down this road. My corporate customers seem happy with that and we have built some great interactive web sites that scale well but it is a factor that you might like to take into account.
Nothing is wrong with ASP.NET <i>if your problem is building websites the same way you build Windows desktop apps</i>.<p>If not however, ASP.NET is simply the wrong tool.
I think hosting cost is the biggest issue, especially if you reach a point where you need to balance load across many servers. There is also the cost ofthe development tools, although I think MS has some programs that allow you to get Visual Studio .NET for free or for minimal cost. Other than that, I think there is just a huge bias against the MS stack in the "hacker" (yes, ironic quotes) community. Having worked with asp.net, django/python and rails, I honestly don't see a huge difference between the three in terms of development productivity, but there is definitely a difference in hosting and software licensing costs. Because of that, I've lately been choosing not to lock myself in to the MS stack for any projects that have the potential to require massive scaling.
Reddit, YCombinator, Digg are all rife with anti-MS folks so, if you follow the idea that, "The world must be like what my experience is" and you only visit those sites (or similar ones), then you would absolutely get the impression that ASP.NET is a bad choice. There are as many if not more "hackers" using ASP.NET than all others except maybe php but those ASP.NET folks typically hang out elsewhere.
Unless you have a specific partnership or business model in mind that requires it, I'd say ASP.NET's advantages are not sufficient to offset the disadvantage of being coupled to Microsoft's decision process (both business and technical).
MS Tools & Languages are made with corporations in mind. In other words, ASP.Net is structured so that programmers can be treated like replaceable cogs. There really isn't anything wrong with that, but if you aren't in a "replaceable cog" situation, you can get things done faster in other languages that require less boilerplate code.