Well,
I'd have to say that both PHP and asp.net are intended for different audiences. I think PHP is great if you don't wanna spent alot of time and ENERGY to become a web developer and still have some power.
I like asp.net because of how the library was thought out and there were features put into asp.net that make me want to learn it. Code Behind is one. I cannot tell you how many times i've had to wait because John (i'll use fictional names) was working on BLUE so i had to wait and i couldn't fix my bug. Output caching is another. I think it’s an enormous waste of database resources to do a select * from provinces, every time you want to fill that drop down.
The other reason I like asp.net is things are all organized into objects; the exception is VB.NET who still has support for things liek mid, subtr, clng, etc. That was done for compatibility reasons, they are just wrapper functions. I don’t want to spend most of my time searching for a functions name before I get to even use it. Having stuff to deal with strings in the string class is a huge win for me, and the IntelliSense in Visual Studio really helps me out, I can’t get enough of it, it’s like crack for programmers.
I have coded in PHP and overall I like it. It was fast and efficient and displayed my page faster than I could read it, but the build in controls in .net make it more enjoyable. Like DataLists and DataRepeaters, if I want a table to be 3 columns wide or 4 columns wide it doesn’t require a code edit of any kind; those are normal properties that even a non-programmer could set. It’s not hard to find that value and work out the columns across and down, its math that people sometimes get scared of, but it’s like a background color, I shouldn’t have to reinvent the wheel to get it changed.
Anyway, I could go on for hours about the stuff I love about .NET and why I feel it makes a programmer more productive, see I didn’t say its better, because that wouldn’t do PHP justice. It’s all about developer productivity, nothing more nothing less.
I came from the C++ world, and I just find C# and PHP syntax tighter than the VB.NET syntax. Not to say VB.NET is an inferior language by any means because it’s not. Like for example, there are things you can do in perl.net that you can’t do in C#, does that made it a better language, no, it just makes it a better choice.
Well, if you go down this far, I thank you for reading my rant
Chris