Es kommt darauf an :-)
Am...
- ...wo und wie Sie die Anwendung einsetzen wollen
- ...die Fähigkeiten der Ingenieure in Ihrem Unternehmen
- ...welche Komponenten von Drittanbietern Sie integrieren oder einbinden möchten
Einsatz
Wenn Sie in der Lage sein müssen, die Lösung auf einer von Dutzenden möglichen Plattformen einzusetzen, sind Sie mit PHP vielleicht besser dran als mit Java (zum Beispiel). Es gibt Hunderttausende von Java-Hosting-Anbietern, aber wahrscheinlich gibt es Millionen von PHP-Hosting-Anbietern. (Und das sage ich als Java-Kopf, der PHP bestenfalls "so und so" findet.)
Dies gilt auch für OS. Mono beiseite, .Net Zeug wird Sie auf Windows-basierte Bereitstellung zu begrenzen (oder hinter der Schneide und mit sehr, sehr rigoros jede Komponente von Drittanbietern testen Sie bringen, um sicherzustellen, dass es nicht Mono... Probleme haben).
Skillsets
Es ist nicht trivial, sich in einer neuen Umgebung oder Sprache zurechtzufinden. Die meisten von uns lernen die Grundlagen ziemlich schnell, aber es kann sein, dass Sie nicht die besten Architektur-/Designentscheidungen treffen, weil Sie die Umgebung/Sprache (vergleichsweise) schlecht kennen. Fertigkeiten zählen.
Diesbezüglich: Die Einstellung von Fachkräften zählt. Ist es einfacher (und/oder billiger), PHP-Entwickler mit 3-4 Jahren Erfahrung einzustellen, oder Java-Entwickler mit 3-4 Jahren Erfahrung, oder C#-Entwickler, oder...?
Kaufen/Finden/Integrieren vs. Bauen
Mit welchen serverseitigen Komponenten oder Paketen wollen Sie in Ihrem Zielbereich der Entwicklung zusammenarbeiten? PHP hat eine . Eine ganze Reihe von Dingen ist dafür verfügbar, ebenso wie Java, C# oder ASP.Net. Aber es sind unterschiedliche Dinge (im Großen und Ganzen), so dass Sie wollen, um zu sehen, was Sie tatsächlich verwenden möchten.
Schlussfolgerung
Ich denke also, es geht weniger um die zusammengestellt vs. Drehbuch (in der heutigen Welt), sondern vielmehr darum, was nach anderen Kriterien am besten zu dem passt, was man erreichen will.
Nachtrag: Sowohl als auch
Und natürlich gibt es immer ein "sowohl als auch". Zum Beispiel arbeite ich im Moment in zwei voneinander unabhängigen Umgebungen, die beide eine Kombination aus geskripteten und kompilierten Ressourcen verwenden. (Eine davon ist Java + JavaScript über Rhino auf Tomcat, die andere sind kompilierte COM-Objekte + JScript [wiederum serverseitig] auf IIS).