Créé par et pour Facebook, Hack est un nouveau langage de programmation censé palier les défauts de PHP. En développement depuis quelques années, il est d’ores et déjà utilisé par la société de Mark Zuckerberg, qui l’a rendu open source..
Hack est très proche du PHP, si proche que la plupart des fichiers PHP sont des fichiers Hack valides. Ce n’est pas un hasard : Facebook a été construit en PHP. La transition d’un langage vers l’autre est donc censée être simple — elle peut du moins être assistée par des outils créés par les ingénieurs de Facebook. Pourquoi, alors, créer un nouveau langage ?
PHP est un langage de programmation à typage dynamique : le développeur n’a pas besoin de déclarer explicitement le type des variables qu’il utilise, ce qui est simple mais peut amener des erreurs. Il s’oppose aux langages de programmation à typage statique, où il faut au contraire déclarer le type des variables, ce qui permet au compilateur de détecter d’éventuelles erreurs avant même que le programme ne soit exécuté.
À l’échelle de Facebook, les langages à typage dynamique offrent trop peu de structure pour des projets très complexes, et sont trop coûteux en ressources puisque le typage est réalisé à la volée lors de l’exécution. Mais malgré leurs avantages indéniables, les langages à typage statique peuvent être trop formels. La solution ? Bryan O’Sullivan, qui a beaucoup travaillé sur Haskell avant de développer Hack, l’a trouvé dans une troisième voie, celle des langages à typage « progressif » où le typage dynamique peut cohabiter avec le typage statique.
Hack remplacera-t-il, à terme, PHP ? Il est bien difficile de le prédire, mais il faut remarquer qu’il ne manque pas d’élégance et répond à une grande partie des critiques à l’encontre de PHP. Il est en tout cas d’ores et déjà utilisé par Facebook, qui invite les développeurs à se saisir de ses outils de conversion, voire à améliorer le langage lui-même.