Facebook veröffentlicht eigene Programmiersprache namens „Hack“

Facebook hat letzte Woche eine neue Programmiersprache namens Hack released. Das ist etwas sehr Besonderes, denn eine neue Programmiersprache wird der Weltöffentlichkeit nicht jeden Tag vorgestellt! Natürlich dürfen aber auch die anderen Open Source Initiativen von Facebook nicht unerwähnt bleiben. Facebook ist momentan vermutlich der größte Produzent von Open Source weltweit – allerdings bei Weitem nicht der Einzige! Google, beispielsweise, hat mit Dart und go bereits in den vergangenen Jahren ähnliche Initiativen mit Programmiersprachen gestartet. Diese fristen derzeit jedoch eher ein Nischendasein.

Doch warum sollte es bei Hack anders werden? Um diese Frage zu beantworten, unternehmen wir einen kleinen Ausflug in die Historie der Architektur Facebooks.

PHP

Wie in “The Social Network” dargestellt, wurde Facebook 2003 in der Programmiersprache PHP programmiert und ist seither organisch gewachsen. PHP ist dynamisch typisiert und steht vor dem Problem, dass in dieser Sprache implementierte Projekte mit steigendem Traffic schlechter skalieren als Projekte der meisten statisch typisierten Sprachen.

HipHop

Im Jahr 2008 begann Facebook aus diesem Grund damit, den PHP Code in performanteres C++ zu überführen. Facebook nannte diese Technologie HipHop und machte sie ab 2010 der Öffentlichkeit verfügbar. HipHop bestand aus zwei Teilen: Während der Entwicklung aus dem  Interpreter und einem Transpiler für das Deployment.

HHVM

Diese Kombination ist jedoch ziemlich umständlich, weshalb HipHop zu einer virtuellen Maschine weiterentwickelt wurde. Diese nennt sich HHVM – eine virtuelle Maschine für PHP mit Just in Time Compiler. Erklärtes Ziel von HHVM ist es, kompatibel zu den Features der Zend Engine zu bleiben – dabei aber eine höhere Performance zu bieten. Erste Tests bestätigen, dass dieses Versprechen eingehalten wird.

Wenn sich HHVM als die schnellere Umgebung herausstellt, stehen die Chancen gut, dass HHVM zum Standard wird – und somit plötzlich jeder die neue Sprache Hack nutzen kann, da diese auf der HHVM ausgeführt wird.

Bildschirmfoto 2014-03-26 um 11.12.04

Hack

Der Claim von Hack verspricht: “Programming productivity without breaking things.”. In der Tat eliminieren einige der Features eine Menge von Boilerplate-Codes – während andere Features für einen sichereren Programmcode sorgen. Die Schlüsselperson bei der Entwicklung der Sprache war und ist Brian O’Sullivan, welcher schon bei Haskell eine wichtige Rolle spielte. Den funktionalen Anstrich kann man der Featureliste definitiv anmerken:

  • Typisierung: Deklarierung von Datentypen, Übergabeparametern und Rückgabewerten.
  • Generics: Parametrisierung der Klassen und Methoden.
  • Collections: Die klassischen Arrays werden durch zusätzliche Collections ergänzt: Vector, Map, Pair und Set.
  • Lambda: Funktionen können Funktionen als Parameter erhalten.

Hack ist vollkommen abwärtskompatibel zu PHP. Existierende PHP-Projekte können also in Hack überführt werden, ohne auch nur eine einzige Zeile Code zu ändern. Inkrementell können dann in der neuen Sprache neue Features implementiert oder alte umgeschrieben werden. Diese Kompatibilität zu PHP grenzt fast schon an Ironie, betrachtet man eines der größten Mankos von PHP selbst, nämlich die Tatsache, dass die Sprache sehr lange zu älteren Versionen abwärtskompatibel bleibt und sich deshalb bisher nur langsam weiterentwickelte.

Fazit

Der wirkliche Geniestreich liegt dabei vermutlich in der HHVM-Kombination – denn setzt sich HHVM durch, profitiert das komplette Internet davon, dass der bereits existierende PHP Code von Blogs und E-Commerce-Systemen schneller wird. Hat sich HHVM einmal durchgesetzt, bietet es sich an, bestehende PHP-Projekte in Hack weiterzuentwickeln. Diese perfekte Transition ist sicher dem Fakt geschuldet, dass Facebook selbst eine ebenso smoothe Transition benötigte. Eine Codebase von geschätzten mehreren Tausend Mannjahren ist nun einmal nicht schnell, parallel zu Betrieb und Weiterentwicklung der Plattform, neu geschrieben.

Facebook hebt damit die populärste Skriptsprache unserer Zeit auf ein neues Level! Wer allerdings schon jetzt glühender Verfechter einer Programmiersprache seiner Wahl ist – oder für wen bisher der einzige Vorteil von PHP darin lag, dass dies bereits überall vorinstalliert ist – der wird vermutlich auch seine neuen Projekte nicht in Hack beginnen.

Aber: Vielleicht hat Facebook die Sprache auch nur veröffentlicht, um durch die dadurch ausgelösten Diskussionen unendliches Engagement im Newsfeed zu erzeugen. Schließlich wird über kaum etwas so leidenschaftlich diskutiert, wie über Programmiersprachen.

Dazu seid auch ihr jetzt herzlich eingeladen – los gehts! ;)

– gelesen und geprüft von www.textorate.de

Klaus Breyer
Klaus Breyerhttp://klaus-breyer.de
Gründer und Geschäftsführer der buddybrand GmbH, dort verantwortlich für Technologien und Prozesse. Als Social Media Agentur entwickelt buddybrand digitale Marken- und Kommunikationsstrategien, kreiert Inhalte und Kampagnen, und schafft internes Verständnis und Strukturen für internationale Markenunternehmen wie ŠKODA International, Wilkinson, Heineken, Helvetia Versicherung oder Storck. Von der Strategieentwicklung über die Konzeption bis zur konkreten Umsetzung arbeitet, leidet und feiert das 35-köpfiges Team zusammen.

Neueste Artikel

Weekly Newsletter abonnieren. Kostenlos. Jederzeit kündbar!

Ähnliche Artikel

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein