It seems to me that everyone on the Internet is talking about PHP/ROR/Python, but few care to mention ASP.NET. Ironically, here in China, most books concerning web development on the shelf in the bookstores are about ASP.NET. I just want to know what is "wrong" with ASP.NET on these web forums. I am really new to web development, and I've just learned a little PHP, and haven't touched anything ASP.NET yet. I would like to know the pros and cons of PHP and ASP.NET. Thank you v开发者_运维问答ery much!
There is nothing wrong with ASP.NET. Except the fact it's a Microsoft technology, so some communities avoid to mention it, or mention it only to say it's evil, without giving a real explanation.
Everything depends on the communities. Here, on StackOverflow, I see more questions about ASP.NET than about PHP. There are other websites which are more ASP.NET oriented.
If you want to choose what to use, try both. This is the only way for you to make a real choice, without being influenced by an opinion of a person who thinks that PHP sucks and is used only by beginners who don't know anything about programming, or a person who thinks that everything related to Microsoft is bad.
I'm assuming that you are referring to the ASP.NET, since ASP is obsolete and deprecated in some sense.
It's really difficult to compare PHP/Python/Ruby to ASP.NET. It would make more sense to compare frameworks. PHP has some popular frameworks called Zend and CakePHP. Python has Django. Ruby got, of course, Ruby on Rails. ASP.NET has MVC.
There is nothing wrong with ASP.NET. In fact, ASP.NET MVC2 is very neat. If you use it with Visual Studio, you basically don't need anything else, since you can debug your application with the visual studio webserver that comes with the IDE. MSDN has a lot of documentation on the MVC framework and a lot of people on stackoverflow are experts.
One downside is that you will need to host your site on Microsoft Server, which is typically more costly than Linux. If you are used to Linux, you will also need to consider some ramp up time and learning cost, because Windows Server is quite different. You might also want to use SQL Server 2008 because Microsoft technologies usually go well together.
There are a lot of things you need to consider when you want to create website with something you are not familiar with. I recommend you to just get started somewhere. If you are learning in order to acquire skills that may help you get some job offers, learn the skills you need. If ASP.NET is something used a lot in China, I would recommend you to pick up ASP.NET MVC and start developing, although this will cost you some money up front. Otherwise, go with PHP/Python/Ruby because there are tons of sites that use these languages and frameworks based on these languages.
For ASP.NET MVC2, this is a good starting point.
By the way, stackoverflow is built on ASP.NET MVC + SQL Server 2008 + C#
You got an IDE full of features and access to whole .NET infrastructure if using asp.net comparing to php.
精彩评论