Hack: PHP-Alternative von Facebook

Facebooks neue Programmiersprache erweitert die Skriptsprache PHP um statische Typisierung, Lambda-Ausdrücke, Collections und einiges andere mehr. Nahezu der gesamte PHP-Code bei Facebook ist schon in Richtung Hack konvertiert worden.

In Pocket speichern vorlesen Druckansicht 131 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Facebook ist einer der größten Nutzer der dynamisch typisierten Skriptsprache PHP. Das heißt nun aber nicht, dass es nicht auch Platz für eine Alternative in dem sozialen Netz gebe. So kam es zur Schöpfung einer neuen Programmiersprache, zu der voriges Jahr erste Informationen durchgesickert waren und die nun als Open-Source-Software zum Ausprobieren bereitgestellt wurde.

PHP-Entwickler sollen sich mit Hack schnell vertraut machen können, viele Funktionen werden sie von der Skriptsprache her kennen. Auch könne Hack in Anwendungen mit PHP koexistieren, wobei die Sprache einige in PHP als "deprecated" markierte Features nicht unterstütze.

Facebook schlägt hier einen ähnlichen Weg ein, wie ihn Microsoft mit dem JavaScript-Aufsatz TypeScript gegangen ist, der JavaScript beispielsweise um ein statisches Typsystem ergänzt. Das gilt auch für Hack, das sich durch die aus anderen Sprachen wie Java und C/C++ vertraute statische Typisierung offenbar auch für große missionskritische Systeme eignen soll – eine Domäne, in der PHP bis dato eher selten zu finden ist. Anwender erzielten durch den Einsatz von Hack eine bessere Performance in ihren Anwendungen und eine bessere Codequalität, heißt es in der Ankündigung.

Die neue Sprache setzt Facebooks HHVM (Hip Hop Virtual Machine) voraus, eine PHP-Code in Bytecode kompilierende virtuelle Maschine. HHVM bietet darüber hinaus einen Type-Checker, der gewährleisten soll, dass alle typisierten Informationen richtig sind. Hack wiederum ermöglicht es dem Programmierer, eindeutige Datentypen zu definieren. Auch gibt es in PHP nicht zu findende Collections, mit denen sich Arrays nuancenreicher als die Array-Funktion von PHP nutzen lassen sollen. Für Hack spreche auch, dass es durch Lambda-Funktionen den Einsatz von Closures vereinfache. Lambda-Ausdrücke waren erst kürzlich auch in Java 8 eingeführt worden. Zusätzlich unterstützt die Sprache Generics, Nullable Types und Typ-Aliasing.

Über das vergangene Jahr hat Facebook nahezu den gesamten PHP-Code auf seiner Plattform in Richtung Hack konvertiert. Um für Hack mehr Entwickler zu finden, hat das Unternehmen einige Editor-Plug-ins nun bereitgestellt. (ane)