Öncelikle biraz uzun bir cevap olucak ama bu cevap ile büyük ihtimal yanlışlıklardan kurtulup doğruya ulaşabilirsiniz. Unutmayın eğer bir yazılım geliştiriciyseniz tarafsız olmak zorundasınız.
Her şeyden önce ASP.NET ve WebForms aynı şeyler değillerdir ASP'yi söylemeye bile gerek duymuyorum hayat boyu işinize yaramayacaktır.
ASP.NET dediğimiz şey bir dil değildir bir Web Uygulama Geliştirme Teknolojisidir. ASP.NET genel olarak .NET Teknolojisi altında kullanılacak olan diğer bütün Web Framework'lerininde (Windows Communication Foundation, ASP.NET WebForms, ASP.NET MVC, Web API, SignalR) temelini oluşturan teknolojidir. ASP.NET 'i aslında .NET Framework'ünde Web Uygulaması geliştirmek için kullanılan temel teknoloji olarak düşünebilirsiniz.
Burada çoğu kişinin yavaş dediği şey ASP.NET WebForms olacaktır fakat bu yöntem ile uygulama geliştirmek ASP.NET tarafında adeta milatta kaldı. ASP.NET MVC genelde günümüzde kullanılan ASP.NET teknolojisidir ve açıkçası PHP üzerindeki kendisine denk olan Frameworklerin (Symfony, Zend, Laravel) çalışma zamanından kat kat daha üstün özellikler sunar. Aradaki farkı internetteki benchmarkleri araştırarak bulabilirsiniz ki bu benim bahsettiğim .NET Core MVC bile değil .NET MVC 4 'den bahsediyorum.
Bütün bunların yanında Microsoft geçenlerde .NET Core adlı bir Teknoloji ortaya sürdü .NET Core geliştiricilere MAC OS, Windows, Linux ortamında geliştirme ve deploy imkanı veriyor .NET Core ile birlikte Microsoft sadece kendi ortamına özel geliştirdiği .NET tabanına bile hız konusunda fark attı ve ciddi anlamda Java ile yarışır bir hıza girdi hatta bazı benchmark lerde geçiyor bile.
.NET Core' un Web Tarafına .NET Core MVC'ye bakarsak .NET MVC'ye yine fark attığı ortada.
Bütün yukarıda anlattıklarım dahil olmak üzere PHP deki herhangi bir Enterprise Ready Framework'ün Java'daki Spring MVC gibi ve ya .NET MVC gibi bir Framework ü yakalaması (eğer yazan kişi aşırı acemi değilse) eşit şartlar altında ciddi anlamda mümkün değildir.
Bu yukarıda saydıklarımın aslında genel olarak nedeni PHP'nin yorumlanan amma ve lakin C#'ın Compile edilen bir dil olmasında yatıyor.
He yukarıda bahsetmediğim en önemli olaylardan biride standartlardır. .NET MVC gibi Frameworklerde standart dışına fazla çıkmazsınız çünkü genel olarak çoğu component size istediğiniz her şeyi sağlar.
Yukarıda sürekli olarak Frameworklerden bahsettim zaten C# dilinin PHP diline göre hızı tartışılamaz fakat tüm bunların yanında ASP.NET 'in asıl üstünlüğü .NET Framework tabanındaki Asenkron Programlama ve ya Socket Programlama ve ya SYSCALL'lardan gelmektedir çünkü ASP.NET teknolojisi ile bir uygulama yaratırken siz aslında C# 'ı ve ya VB.NET'i kullanırısınız ki bu size her şeyi sağlar.
Yukarıda bir kaç arkadaş yazmış Facebook Wikipedia gibi sistemler PHP kullanır diye bu kısmen doğru çoğunlukla yanlış bir tabirdir çünkü bu tür sistemler içlerinde inanılmaz derecede fazla teknoloji barındırır. En basitinden Facebook tarafında yoğun yük alan çoğu işlemin PHP, C# ve ya Java ile değil C++ ile yapıldığı bilinir. Facebook'un PHP'nin hız yetersizlikleri ve saçma dil yapısından dolayı HACK Language'i geliştirdiği bilinir.
Peki iyi güzel PHP'yi bu kadar gömdük fakat PHP ne işe yarar neden bu kadar çok kullanılır denirse aslında buna Kadir Has Üniversitesindeki PHPKonf 'ta Rasmus Lerdorf 'un değindiği konunun aynısı verilebilir :
PHP diğer dillere oranla çok aşırı derecede performanslı olmasa da RAM'i bu kadar idareli kullanıp CPU'yu çok iyi kullanan en iyi dillerden biridir. PHP genel olarak Frameworkler ile belki 0.4 saniye gibi gecikmeler yaratabilir fakat .NET ve ya Java gibi yüksek seviye sunuculara ihtiyaç duymaz aşırı işlem gücü gerektirmez. Kısacası PHP Footprint konusunda baya sağlam bir dildir.
Bütün bunların yanında PHP'nin string işleme gücü ve hızı ciddi anlamda çok mükemmel seviyelerde. Java ve C# gibi dillere Regex konusunda aynı işlemlerde 8 10 saniyelik fark atabiliyor ki bu baya yüksek bir rakam.
PHP'nin en büyük avantajlarından biride sağladığı geniş alan ve Web'e olan uyumluluğu. PHP sadece Web için geliştirilen bir dil olmasından dolayı .NET ve ya Java'daki gibi sizi bazı yapılara mecbur bırakmaz istediğinizi saniyesinde alabilirsiniz. (echo "Hello World !"; ) işte bir web uygulaması bu kadar basit
Sonuç olarak eğer ki sunucu özellikleriniz fazla iyi değilse ve ya uygulamanızın boyutuna göre çok pahalı durumlara girilmeyecekse ve ya orta ölçekli bir uygulama yazılacaksa PHP gözü kapalı bir şekilde tercih edilebilirdir. Yüksek seviyede de farklı optimizasyonlar ile rahatlıkla tercih edilir.
Eğer ki dünyanın en büyük communitysine sahip olan hızlı bir dil seçiyim derseniz Java ile gidebilirsiniz.
Eğer ki bir başka hızlı dil tercih etmek isterseniz yine C# 'ı tercih edebilirsiniz.