Možda nešto propuštam ali nije mi jasna konstatacija da je ASP.NET skuplji od PHP-a.
Windows 2003/2008 + MSSQL i Linux + MySQL shared hosting košta isto. Dedicated i VPS su možda 10% skuplji što i nije neki bitan faktor u ceni u odnosu na troštokve celog projekta.
Razvojni alati za ASP.NET su potpuno besplatni (Visual Web developer, MSSQL express).
Pitanje u temi se može shvatiti dvosmislenio. Sa jedne strane poredimo ASP.NET koji uključuje mvc framework, orm i još dosta toga, a sa druge strane je PHP kao jezik. Možda je bolje praviti poređenje C# vs PHP ili Zend Framework vs ASP.NET.
Što se tiče prvog poređenja mislim da je C# mnogo savršeniji od PHP-a i nabrojaću neke stvari:
Named paremeters
ako trebate proslediti samo poslednji element metodi koja prima recimo 6 opcionih parametara u PHP bi išlo
func1(null, null, null, null, null, 11);
dok u C#
func1(paramName: 11);
Partial classes
Definiciju klase možete obaviti iz više delova. Recimo ORM automatski generiše entity klase, a vi želite da proširite te klase nekim metodama karekterističnim za taj domen. Bez parcijalnih klasa bi dodavali metode u klase koje je ORM generisao, pa pri regenerisanju biste morali ponovo. Ovako se to odvoji u pracijalnu klasu koja je u istom namespace-u.
LINQ
Language integrated query. Iste upite možete vršiti nad bazom, kolekciom objekata, xml-om.
Extension methods
Lambda expressions
U poslednjoj verziji C# polako dobija i dinamičku komponentu tako da u klasama postoje pandani za PHP-ove __call i __get metode.
http://channel9.msdn.com/shows...-parameters-more-COM-friendly/
Btw. U firmi gde radim prošli projekat je rađen u PHP(Zend Framework), a trenutni se radi u ASP.NET MVC2 i nekako mi više leži .NET počevši od razvojnog okruženja pa do samog jezika i frameworka.