28 octobre 2014

Hack : Le nouveau langage de programmation de Facebook

Par Jean-Marc Amon

Savez-vous sur quel langage repose Facebook ? Tout le monde le sait, c’est bien PHP. Mais les développeurs savent que PHP est un langage lent et pour un site comme Facebook avec son milliard d’utilisateurs on ne peut pas se contenter de PHP alors que faire ?

Le besoin se présentant, Facebook a mis au point un nouveau langage de programmation nomme Hack , qui bien sur n’a rien avoir avec le mot Hacking mais vient du fait que c’est une modification du langage PHP. Hack permet de gagner en performance et se compile directement en C++.

hack-programming-language-facebook-code1-702x336.png.pagespeed.ic_.BCAqm5i-iy

Selon les experts Hack est une nouvelle version du langage PHP mais en beaucoup beaucoup plus rapide.

Notre ajout principal est le typage statique. Nous avons développé un système informations de type sur la signature des fonctions et des membres de classes; notre algorithme de contrôle de type en déduit le reste. La vérification de type est progressive, de sorte que même dans le même fichier, un code peut être converti en Hack tandis que le reste demeure en PHP. Techniquement parlant, Hack est un langage typé progressif: le code à typage dynamique interagit de façon transparente avec le code statiquement typé « . « Le Hack ajoute des fonctionnalités supplémentaires au-delà de la vérification de type statique, y compris les collections, les expressions lambda, et l’application de la durée de fonctionnement de retour et les types de paramètres supplémentaires …

 

Plutôt que d’interpréter directement ou compiler du code PHP directement à C ++, HHVM compile Hack et PHP dans un bytecode intermédiaire. Ce bytecode est ensuite traduit en code machine x64 dynamiquement par un compilateur (JIT) juste-à-temps. Ce processus de compilation permet toutes sortes d’optimisations qui ne peuvent pas être effectuées dans un binaire compilé statiquement, permettant ainsi une meilleure performance de vos programmes de piratage et PHP.

 

Le site de Hack