2010-04-27 8 views
8

Ich weiß, dass PHP immer noch die populärste Programmiersprache der Welt ist. Diese Frage möchte nur einige meiner Bedenken bezüglich PHP zum Ausdruck bringen.Wird PHP in der Website-Entwicklungswelt sterben?

PHP ist natürlich an C10K problem gebunden. Da PHP (im Allgemeinen in Apache ausgeführt) nicht ereignisgesteuert oder asynchron sein kann, belegt jede HTTP-Anforderung mindestens einen Thread oder Prozess. Dies macht es widerstandsfähiger, um besser skalierbar zu sein.

Derzeit sind viele Websites (wie Facebook & Yahoo!) mit hoher Leistung und Skalierbarkeit immer noch auf PHP in ihren Front-End-Servern. Ich nehme an, dass es aus Legacy-Gründen ist. Ist es möglich, dass PHP durch eine für C10K geeignetere Sprache ersetzt wird?

+9

Bitte denken Sie darüber nach, dieses Community Wiki zu erstellen. –

+2

Vielleicht hat es etwas mit meiner Frage zu tun: http://stackoverflow.com/questions/2629209/is-there-an-useuse-for-non-blocking-receive-when-i-have-threads Don Vergiss nicht, dass die Art, wie Apache mit PHP umgeht, sich ändern kann. Nehmen Sie zum Beispiel Änderungen Facebook-Jungs, die aus ihren eigenen Gründen zu PHP gemacht. Ich dachte Twitter verwendet Schienen und Scala ... –

+0

Twitter läuft auf RoR nach der Website: http://rubyonrails.org/applications –

Antwort

2

Das Interesse an High Quality PHP Framework wie Zend PHP, Symfony, Cake, Solar und einige mehr zu sehen, denke ich, dass PHP rebirthing ist.

Das neue Object Oriented-Modell ermöglicht es professionellen Entwicklern, auf bekannte Paradigmen zurückzukommen und durch den objektorientierten Support mehr Menschen anzuziehen, die nicht nach PHP kommen wollten.

Übrigens, ich sehe eine steigende Nachfrage nach professionellen PHP-Entwickler mit soliden Fähigkeiten und eine Verwendung von PHP-Framework (Symfony und Zend Framework sind die meist gesuchten hier in Frankreich) zu mieten.

PHP ist nicht so langsam wie wir denken können, gutes Caching, optimierte db-Anfrage sind es wert, es zu tun. Heutzutage ist es auch billiger, ein Buch RAM als Code zu kaufen, um es in Assembly oder C zu beschleunigen.

3

PHP verwendet eine Shared Nothing architecture, die es sehr gut skaliert.

Wird PHP sterben? Ich bin nicht ignorant genug, um das mit einem fetten No zu beantworten. Jede Technologie hat ihre Zeit und ich bin davon überzeugt, dass es etwas besseres, schlankeres, schnelleres geben wird, was auch immer für das Web geeigneter ist als PHP. Aber wird PHP in naher Zukunft sterben? Nein, das glaube ich nicht. Die Notwendigkeit für Skalierbarkeit ist etwas, das die meisten von uns wünschen sie hatten, aber die Wahrheit ist, die meisten Web-Anwendungen haben einfach nicht die Notwendigkeit.


Verwandte Lesung, die mehr Informationen über die PHP-Skalierbarkeit

+1

genannt wird Das ist keine Eigenschaft von PHP, da PHP auch erlaubt, Client-Zustand auf dem Server mit Sitzungen zu sichern. Shared Nothing hat nichts mit dem Problem eines Threads/Prozesses pro Anfrage zu tun. – deamon

+0

@deamon Dann ist die Frage eines Threads/Prozesses pro Anfrage auch kein Problem von PHP. Downvote die Frage, nicht meine Antwort. – Gordon

+1

+1 für Link und gültige Antwort. – zaf

16

Ist es möglich, dass PHP nach Sprache besser geeignet für C10K ersetzt werden muss?

Ich würde sagen sehr unwahrscheinlich.

Egal Facebook oder Yahoo, die überwiegende Mehrheit der Websites sind nicht einmal in der Nähe dieser Stufe der Popularität. Die meisten Webprogrammierer arbeiten an kleinen bis mittelgroßen Projekten, bei denen keine wirklich hohe Leistung benötigt wird. Zusätzliche Leistung kann profitabler erzielt werden, wenn mehr Hardware für das Problem eingesetzt wird als durch die Verwendung von mehr Programmierern, um an Effizienz zu arbeiten.

Die Kodierung für spezialisierte Hochleistungs-Socket-Server ist schwieriger und langsamer als das Hacken eines PHP-Skripts, so dass PHP (*) immer gewinnen wird. Und seien wir ehrlich, die Chancen stehen gut, dass Sie andere Skalierungsprobleme (wahrscheinliche Datenbankperformance) erreichen werden, lange bevor die Ineffizienz der Ein-Thread-oder-Prozess-pro-Gleichlauf-Verbindung anfängt zu beißen.

C10K? Für die überwiegende Mehrheit der Anwendungen werden Sie es nicht brauchen.

(*: oder andere ähnliche Scripting-Umgebungen. Mit PHP6 Debakel und PHP5 anhaltende Probleme mit Unicode und viele andere langjährige Sprache-Level-Probleme, andere Sprachen und Frameworks sollten auf Kosten von PHP Popularität gewinnen opfern Sie das Authoring für eine hohe Skalierbarkeit.)

+4

+1 C10K? Für die überwiegende Mehrheit der Anwendungen werden Sie es nicht brauchen – nik