Anzeige
Hacker Way 1: Facebooks Hauptsitz
Hacker Way 1: Facebooks Hauptsitz (Bild: Harald Weiss)

Facebook: Programmiersprache Hack offiziell verfügbar

Facebook hat seine PHP-basierte Programmiersprache Hack offiziell als Open Source allgemein verfügbar gemacht. In der PHP-Community dürfte die Sprache eine lebhafte Diskussion auslösen.

Anzeige

Laut Facebooks Entwicklungsingenieur Julien Verlaguet ist Hack eine Synthese aus PHP und den starken statischen Typdefinitionen, wie sie bei C# oder Java der Fall sind. Ziel ist es, dass die Entwickler weiterhin wie gewohnt in PHP programmieren, aber zu einer sauberen Programmierung gezwungen werden. Insbesondere durch erzwungene Typdefinitionen der Übergabewerte bei Funktionen und Methoden sowie der Rückgabewerte sollen Laufzeitfehler reduziert und die Code-Inspektion vereinfacht werden.

Das vereinfacht die Definition und Nutzung von APIs. "Im Wesentlichen zielt Hack darauf ab, PHP mit statischer Typisierung zu erweitern, beispielsweise lassen sich damit auch Klassen anlegen und der zugehörige Type-Checker prüft vorher auf eventuelle Typenkonflikte", schreibt Verlaguet in seinem Blog.

Da assoziative Arrays als beliebte Funktions- und Rückgabeparameter das Konzept der statischen Typisierung unterlaufen können, implementiert Hack auch neue Sprachelemente (Shapes und Tuples) sowie Datentypen (Collections), um die Typsicherheit auch für solche Fälle sicherzustellen.

Um Klassenmethoden trotz starker Typisierung flexibel zu halten, können generische Definitionen verwendet werden - entsprechend den Generics in Java und C#.

Anonyme Funktionen (Closures) beherrscht PHP bereits, in Hack ist ihre Nutzung in Form von Lambda-Ausdrücken aber deutlich dem näher, was Programmierer zum Beispiel von Javascript kennen.

Weitere Eigenschaften von Hack sind asynchrone Funktionen und Traits für die klassenbasierte Wiederverwendung von Funktionen.

Hack läuft auf der Hiphop Virtual Machine (HHVM) von Facebook. Auch diese steht als Open Source zur Verfügung. Die HHVM-Plattform kann auch ohne Hack mit reinen PHP-5-Programmen genutzt werden. Verlaguet verweist in seinem Blog darauf, dass Facebook selbst eine Reihe an Fremdbibliotheken verwendet, die ausschließlich in PHP 5 programmiert sind.

Der Grad der Nutzung von Hack ist dem einzelnen Programmierer oder Projekt überlassen und kann auch noch später abgeändert werden. Das erlaubt weiterhin ein schnelles Prototyping und eine spätere Strukturverbesserung. Facebook spricht hier von der ersten industriellen Implementation von "graduellem Typing". Doch Infoworld berichtete schon 2012, dass Microsoft mit Typescript eine ähnliche Technologie auf den Markt gebracht hat, bei der die Vorteile von Javascript mit denen von Java oder C++ vereint wurden. Microsoft nennt Typescript nicht eine eigene Programmiersprache, sondern ein Superscript.

Programmiersprache oder nur Erweiterung?

Facebook spricht bei Hack auch gelegentlich von PHP-Zusätzen. Damit drängt sich die Frage auf, ob es sich bei Hack wirklich um eine neue Programmiersprache handelt oder ob es nur eine umfangreiche PHP-Erweiterung ist. In der PHP-Gemeinde wird Hack auf jeden Fall viele Diskussionen auslösen. Einige Features von Hack wurden auch immer wieder für PHP selbst diskutiert. Doch häufig gab es den Konsens, mit PHP nicht Java kopieren zu wollen.


eye home zur Startseite
TheUnichi 24. Mär 2014

Das sagt sich so einfach, so wie sich auch heute die ganzen Node.js-ler sagen "PHP ist...

Schattenwerk 24. Mär 2014

Ach so, der einzige Grund von einer starken Typisierung ist also Performance? Dachte da...

tibrob 22. Mär 2014

Das liegt dann an deinem Spaghetti-Code ... Man kann durchaus alle Eingaben brauchbar...

Kommentieren



Anzeige

  1. PHP Entwickler für webbasierte Branchensoftware (m/w)
    OktoPOS Solutions GmbH, Hamburg
  2. Einkäufer IT (m/w) Workplace Services
    über HRM CONSULTING GmbH, Nürnberg
  3. Software-Qualitätsingen- ieur (m/w)
    Cambaum GmbH, Baden-Baden
  4. Software-Entwickler (m/w) Java/C++
    IVU Traffic Technologies AG, Berlin, Aachen

Detailsuche



Anzeige

Folgen Sie uns
       


  1. Die Woche im Video

    Die Schoko-Burger-Woche bei Golem.de - mmhhhh!

  2. Zcryptor

    Neue Ransomware verbreitet sich auch über USB-Sticks

  3. LTE-Nachfolger

    Huawei schließt praktische Tests für Zukunftsmobilfunk ab

  4. Beam

    Neues Modul für Raumstation klemmt

  5. IT-Sicherheit

    SWIFT-Hack vermutlich größer als bislang angenommen

  6. Windows 10

    Microsoft bringt verdoppelten Virenschutz

  7. Audience Network

    Facebook trackt auch Nichtnutzer für Werbezwecke

  8. Statt Fernsehen

    Ministerrat will europaweite 700-MHz-Freigabe für Breitband

  9. Gran Turismo Sport

    Ein Bündnis mit der Realität

  10. Fensens Parksensor

    Einparken mit dem Smartphone



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
GPD XD im Test: Zwischen Nintendo 3DS und PS Vita ist noch Platz
GPD XD im Test
Zwischen Nintendo 3DS und PS Vita ist noch Platz
  1. Playstation 4 Rennstart für Gran Turismo Sport im November 2016
  2. Project Spark Microsoft stellt seinen Spieleeditor ein
  3. AMD Drei Konsolen-Chips für 2017 angekündigt

Intels Compute Stick im Test: Der mit dem Lüfter streamt (2)
Intels Compute Stick im Test
Der mit dem Lüfter streamt (2)
  1. Apple Store Apple darf keine Geschäfte in Indien eröffnen
  2. Prozessoren Intel soll in Deutschland Abbau von 350 Stellen planen
  3. HBM2 eSilicon zeigt 14LPP-Design mit High Bandwidth Memory

Xiaomi Mi5 im Test: Das fast perfekte Top-Smartphone
Xiaomi Mi5 im Test
Das fast perfekte Top-Smartphone
  1. Konkurrenz zu DJI Xiaomi mit Kampfpreis für Mi-Drohne
  2. YI 4K Xiaomi greift mit 4K-Actionkamera GoPro an

  1. Re: Wieso denn so teuer?

    Prinzeumel | 09:47

  2. Re: was ist eigentlich mit

    seizethecheesl | 09:39

  3. Re: MS warnt? Die Unterstützen das doch.

    longthinker | 09:27

  4. Re: Adblocker sind die besseren Antiviren

    medium_quelle | 09:25

  5. Ja und? Es gibt reichlich Straßen wo ein LKW...

    derdiedas | 09:25


  1. 09:01

  2. 17:09

  3. 16:15

  4. 15:51

  5. 15:21

  6. 15:12

  7. 14:28

  8. 14:17


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel