Hack - Die Sprache hinter Facebook
Hack ist die neue Sprache hinter Facebook, das bis heute das beliebteste soziale Netzwerk ist. Es ist eine Web-Programmiersprache erfunden und (vor kurzem) Open-Source von Facebook . Das Unternehmen behauptet, dass die Sprache Programmierern hilft, Programme schneller zu programmieren und Fehler frühzeitig und einfach zu vermeiden.
Hack ist eine Sprache, die verwendet wird, um komplexe Websites mit hoher Geschwindigkeit zu erstellen und dabei sicherzustellen, dass der Quellcode der Website gut organisiert und vergleichsweise fehlerfrei ist . Seine "Sicherheitsnetz" -Funktionen ermöglichen es Programmierern, sichereren Code zu schreiben, der die Wahrscheinlichkeit verringert, dass später Probleme auftreten.
In diesem Beitrag werden wir uns Hack und einige seiner Funktionen ansehen, die wohl besser sind als PHP, die derzeit populärste Web-Programmiersprache, die die meisten Websites antreibt. Hack ist so konzipiert, dass es auf der Facebook-HHVM-Virtual-Machine läuft, die dafür bekannt ist, überragende Leistung zu bieten .
Die Dynamik eines Problems
Als Mark Zuckerberg 2003 mit dem Aufbau von Facebook begann, verwendete er eine Web-Entwicklungssprache namens "PHP". Es war zu dieser Zeit die populärste und (relativ) einfache Programmiersprache, um dynamische Webseiten mit großer Geschwindigkeit zu erstellen .
PHP ist eine dynamisch typisierte Sprache, was bedeutet, dass Sie keine Zeit mit der Definition von Variablen verbringen müssen. Sobald Sie Ihren Code fertiggestellt haben, können Sie ihn fast sofort ausführen. Dies erleichtert das Codieren und verringert die Entwicklungszeit und den Entwicklungsaufwand, erhöht jedoch stark die Fehlerwahrscheinlichkeit, die zum Zeitpunkt der Ausführung nur noch hässlich ist.
Kann es sich nicht leisten, Fehler zu haben
Dies verstärkt das Problem weiter, da Sie den Code ausführen müssen, um Fehler zu finden (im Gegensatz zu statisch typisierten Sprachen). Die Fehler wachsen mit dem Wachstum der Codebasis weiter. Kleine Projekte haben vielleicht kein großes Problem, aber mit einer großen Codebase mit 5 Fehlern pro tausend Zeilen Code, die möglicherweise bis zu 5000 Fehler führen können - das ist eine Menge zu debuggen.
Die Situation verschlechtert sich mit Cloud-Unternehmen wie Facebook, wenn Tausende von Programmierern jeden Tag neue Codes schreiben und versenden. Sie können es sich auch nicht leisten, Fehler in ihrem Code zu haben, was dazu führen kann, dass Benutzerdaten kompromittiert werden. Was gibt es zu tun?
Das Rad neu erfinden
Da das Facebook-Frontend größtenteils in PHP geschrieben war, würde das Umstellen auf eine neue Sprache bedeuten, dass der gesamte Site-Code migriert werden muss, was nicht nur unpraktisch, sondern auch nicht machbar ist. Wenn die Programmierer PHP bereits gewohnt sind, erfordert dies einen massiven Neustart der Personalabteilung .
Glücklicherweise gibt es eine bessere Lösung - sie haben eine aus PHP abgeleitete Sprache neu erfunden, die mit dieser traditionellen Sprache koexistieren kann.
"So wurde Hack geboren. Wir glauben, dass es das Beste aus dynamisch typisierten und statisch getippten Sprachen bietet und dass es für Projekte aller Größen wertvoll sein wird", wurde auf Facebooks Engineering-Blog angekündigt.
Hack ist einfach besser PHP
Im Wesentlichen ist Hack "besseres PHP". Von PHP abgeleitet, funktioniert es nahtlos mit PHP für schnellere und sicherere Webentwicklung . Sie können ein Projekt mit PHP- und Hack-Code nebeneinander haben und trotzdem läuft das Projekt wie gewünscht. Dies ist das Schlüsselfeature, das PHP-Entwickler anzieht, um Hack zu testen. Und ermutigen Sie sie möglicherweise, ihren PHP-Code nach und nach auf Hack zu migrieren.
Hack fügt PHP hauptsächlich die Stärke der statischen Typisierung und viele weitere Funktionen moderner Programmiersprachen hinzu. Es ist eine Sprache, die für HHVM (HipHop Virtual Machine) entwickelt wurde, eine Open-Source-Laufzeitplattform, die von Facebook entwickelt wurde, um in Hack und PHP geschriebene Programme auszuführen .
Die Hack- und HHVM-Kombination zielt auf eine der Grundlagen des modernen Internets ab: schnelle App-Entwicklung . Es war noch nie so einfach, Webanwendungen zu testen und zu debuggen, aber Hack ändert das, indem Programmierer Fehler frühzeitig erkennen können, ohne den Entwicklungszyklus von PHP zu beeinträchtigen. Die Schlussfolgerung von mehreren Tech-Sites war, dass Hack eine gute Nachricht ist.
Vorteile von Hack
Die größte Verbesserung, die Hack gegenüber PHP bietet, ist die Beseitigung unnötiger und fehleranfälliger Funktionen . Hack fügt Sicherheitsnetze hinzu (ohne Sie zu verlangsamen), so dass Sie weniger Fehler machen. Es fügt auch verschiedene Funktionen hinzu, die in modernen Programmiersprachen zu finden sind, was das Schreiben von Code in Hack angenehm macht.
Hack ist sowohl eine dynamisch getippte als auch eine statisch typisierte Webentwicklungssprache und bringt somit das Beste aus beiden Sprachen mit. Dies wird eigentlich "gradual typing" genannt, ein Typsystem, bei dem Variablen entweder zur Kompilierungszeit oder zur Laufzeit eingegeben werden können. Es kann Ihren Code ohne Kompilierung ausführen - Sie können eine Datei bearbeiten und die Webseite neu laden und die Änderungen sofort sehen.
Andere Eigenschaften
Hack bringt Funktionen wie Collections, Lambda-Ausdrücke und Runtime-Enforcement von Rückgabetypen und Parametertypen, Hinzufügung von Generics, asynchrone Programmierung usw.
Diese neuen Funktionen sind nicht hinderlich, daher wird der mit Hack geschriebene Code immer noch wie der traditionelle dynamische Code aussehen, der mit PHP erstellt wurde. Darüber hinaus werden Ingenieure den Code besser verstehen, da statische Typisierung sehr wie Dokumentation funktioniert.
Was ist nicht so vorteilhaft
Der größte Nachteil von Hack ist, dass es die Funktionen aufgegeben hat, die PHP zu einer einfacheren Sprache für Anfänger machen. Sie können den HTML-Code nicht direkt in Ihren Quellcode einbetten, und Sie können keinen Code außerhalb einer Funktion oder Klasse schreiben lassen. Aber das ist ein relativ kleines Problem. Obwohl es Anfänger abschrecken könnte, würden PHP-Programmierer es nicht schwer finden, sich an Hack anzupassen, und sie werden wahrscheinlich die Vorteile von Hack für überzeugend genug halten, um angenommen zu werden.
Facebook hat Hack bereits auf seiner Website bereitgestellt, die mehr als 1, 2 Milliarden Menschen auf der Welt bedient. "Wir haben Hack bei Facebook eingesetzt und es war ein großer Erfolg. Im letzten Jahr haben wir fast unsere gesamte PHP-Codebase auf Hack migriert", heißt es im Blog von Facebook Engineering.
Die Zukunft
Es wird interessant sein, zu sehen, wie die PHP-Community diese neue Sprache übernehmen wird. Wir hoffen, dass Hack auf anderen virtuellen Maschinen und Parsern von PHP unterstützt wird, was die Code-Migration vereinfacht.
Ein Open-Source-Projekt bedeutet auch, dass es nicht von seinen ursprünglichen Erstellern für neue Funktionen und Fehlerkorrekturen abhängig ist . Wir könnten in der Zukunft auf einige großartige Funktionen stoßen, die von der Open-Source-Entwicklergemeinschaft zu dieser neuen Sprache vorgeschlagen oder hinzugefügt werden.
Darüber hinaus arbeitet Facebook auch daran, Hack zu verbessern. Sie haben doch die Sprache erschaffen. "Dies ist nur der erste Schritt, und wir sind bestrebt, diese Software weiter zu entwickeln, um die Entwicklung sowohl für unsere eigenen Ingenieure als auch für die gesamte Community noch einfacher zu machen", heißt es auf dem Facebook Engineering Blog.
Was denkst du über Hack? Denkst du Hack ist besser als PHP? Kann es PHP ersetzen? Bitte posten Sie Ihre Antworten durch Kommentare.
50 meistgesuchte WordPress-Tipps, Tricks und Hacks
Zuvor haben wir mehr als 30 Hacks und Tricks zum Anpassen von WordPress vorgestellt. Aber WordPress hat seit der Veröffentlichung dieser Zusammenstellung mehrere Iterationen und Aktualisierungen durchlaufen. Einige WordPress-Funktionen wurden gelöscht, einige wurden durch bessere Ansätze ersetzt, die einige Tricks wiedergeben, die Sie nicht mehr verwenden können.Wir
Kooperationen: Das Wie und Warum der Zusammenarbeit mit anderen Designern
Ah, Kollaborationen. Sie können ein Segen oder ein Fluch sein und manchmal beides zugleich. Mit einem anderen Designer an einem Projekt zu arbeiten kann dich auf eine Art und Weise herausfordern, die du nie für möglich gehalten hättest ... und es kann dich auch so verrückt machen, dass du dich fragst, ob es sich überhaupt gelohnt hat.Heute