robsite

Kommentare

Felix

Ich kenn mich mit Web-Entwicklung nicht aus. Wieso programmiert man da nicht gleich in C++?
PHP und C++ stehen ja beide in Kritik nicht so sch̦n zu sein, aber C++ ist ein bisschen strenger als php. (soweit ich mich da auskenne Рalso ich find C++ sch̦ner)

Anonymous

Haben die Entwickler von Webtoolkit mal in ihrem Blog vorgeschlagen:
http://www.webtoolkit.eu/wt#/blog/2009/12/17/facebook__php__is_not_very_kopenhagen

Und fefe hat sich darüber lustig gemacht:
http://blog.fefe.de/?ts=b5d0e013

Tja, da guckt der jetzt aber ganz schön doof aus der Wäsche…

Rob

Webentwicklung in C++ ist wie Spieleentwicklung in Assembler: Zu kompliziert und aufwändig. Du hast starke und statische Typisierung, musst also ständig aufpassen, dass jede Variable den richtigen Typ hat. Zudem wird C++ nur kompiliert. Mal eben was ändern, abspeichern und den Browser refreshen funktioniert nicht.

Facebook begann als kleines PHP/MySQL-Projekt in Zuckerbergs Studentenbude, wuchs dann extrem schnell und hat laufend neue Features bekommen. Da blieb keine Zeit, die Seite auf eine effizientere, sauberere Sprache umzustellen. Haben sie ja laut Blogpost öfters versucht. Da die PHP-Hauptseite sich aber zu schnell weiterentwickelt hat, kamen sie nie nach. Also bleiben sie bei PHP. Hat auch den Vorteil, dass neue Mitarbeiter schneller Anschluss finden.

Nun benutzen sie also PHP, wollen das auch nicht ändern, bekommen aber Performanceprobleme. Selbst mit hochoptimierten Setups, PHP-Bytecaches á la APC etc. ist PHP der Engpass. Also ändern sie PHP selbst. Dabei haben sie jetzt keinen neuen PHP-Interpreter mit Just-in-Time-Compiler (wie Java, V8) oder ähnlichem entwickelt, sondern ‚einfach‘ einen PHP-zu-C++-Ãœbersetzer, der den Code gleich noch etwas optimiert. C++-Compiler erzeugen verdammt schnellen Code udn so ist HipHop anscheinend rund 50% schneller als Facebooks altes PHP-Setup (was sicherlich auch schon hochoptimiert war).

Das bringt uns aber alles garnichts, solange wir keine riesige Seite haben, die nicht mehr von der Datenbank, sondern vom Codeinterpreter gebremst wird (und auf tausenden Servern läuft :>)

brio

sehr interessant das ganze. Ich hätte ehrlich gesagt nicht gedacht, dass Facebook komplett auf PHP basiert. Wobei ich die Vorteile natürlich verstehen kann, vor allem jetzt, da man die Performanceprobleme auch deutlich verkleinert hat.

Auch wenn der Code-Ãœbersetzer für kleine Seiten nichts bringt, ich glaub ich werde ihn mir mal näher anschauen und ausprobieren, ich bin einfach interessiert, was für ein c++ ergebnis bei einigen meiner skripte rauskommt…

mfg brio

Rob

Noch haben sie leider nix hochgeladen. Wird dann wohl irgendwann auf http://github.com/facebook/hiphop-php erscheinen.