Hack - La langue derrière Facebook
Hack est la nouvelle langue derrière Facebook, qui est encore le réseau social le plus populaire à ce jour. C'est un langage de programmation Web inventé et (récemment) ouvert par Facebook . La société affirme que la langue aide les programmeurs à coder les programmes plus rapidement et à éviter les erreurs rapidement et facilement.
Hack est un langage utilisé pour créer des sites Web complexes à grande vitesse tout en s'assurant que le code source du site est bien organisé et relativement exempt d'erreurs . Ses fonctionnalités de «filet de sécurité» permettent aux programmeurs d'écrire des codes plus sûrs, ce qui réduit les risques de problèmes ultérieurs.
Dans cet article, nous nous intéresserons à Hack et à certaines de ses fonctionnalités qui sont sans doute meilleures que PHP, actuellement le langage de programmation Web le plus populaire pour la plupart des sites Web. Hack est conçu pour fonctionner sur la machine virtuelle HHVM de Facebook, connue pour offrir des performances supérieures .
La dynamique d'un problème
En 2003, quand Mark Zuckerberg a commencé à construire Facebook, il a utilisé un langage de développement web appelé "PHP". C'était le langage de programmation le plus populaire et (relativement) facile à l'époque pour créer des sites Web dynamiques, avec une grande rapidité.
PHP est un langage typé dynamiquement, ce qui signifie que vous n'avez pas besoin de passer du temps à définir des variables et une fois que vous avez terminé votre code, vous pouvez presque le lancer instantanément. Cela facilite le codage et diminue le temps et l'effort de développement, mais augmente fortement les chances de commettre des erreurs, ce qui montre seulement sa tête laide au moment de l'exécution.
Ne peut pas se permettre d'avoir des erreurs
Ceci intensifie encore le problème car vous devez exécuter le code pour trouver des erreurs (contrairement aux langages statiquement typés). Ces erreurs continuent de croître avec la croissance de la base de code. Les petits projets peuvent ne pas être confrontés à un gros problème, mais avec une base de code importante avec 5 erreurs par code de mille lignes potentiellement porteurs de 5000 erreurs - c'est beaucoup à déboguer.
La situation s'aggrave avec les entreprises à l'échelle du Cloud comme Facebook lorsque des milliers de programmeurs écrivent et expédient du nouveau code chaque jour. Ils ne peuvent pas non plus avoir des erreurs dans leur code, ce qui peut compromettre les données de l'utilisateur. Alors qu'est-ce qu'il y a à faire?
Réinventer la roue
Comme le front-end de Facebook était principalement écrit en PHP, passer à une nouvelle langue signifierait devoir migrer l'ensemble du code du site, ce qui n'est pas seulement impraticable mais pas faisable. De plus, si les programmeurs sont déjà habitués à PHP, cela nécessite un redémarrage massif des ressources humaines .
Heureusement, il existe une meilleure solution: ils ont réinventé un langage dérivé de PHP, qui peut coexister avec ce langage traditionnel.
"Ainsi, Hack est né, nous croyons qu'il offre le meilleur des langages typés dynamiquement et typés statiquement, et qu'il sera utile aux projets de toutes tailles", a-t-il annoncé sur le blog d'ingénierie de Facebook.
Hack est simplement meilleur PHP
Essentiellement, Hack est "meilleur PHP". Dérivé de PHP, il interagit parfaitement avec PHP pour un développement web plus rapide et plus sûr . Vous pouvez avoir un projet contenant du code PHP et du code Hack côte à côte et le projet s'exécute quand même. C'est la caractéristique clé qui va attirer les développeurs PHP pour essayer Hack. Et éventuellement les encourager à migrer progressivement leur code PHP vers Hack.
Hack ajoute principalement à PHP la puissance du typage statique ainsi que de nombreuses autres fonctionnalités trouvées dans d'autres langages de programmation modernes. C'est un langage développé pour HHVM (HipHop Virtual Machine), une plate-forme d'exécution open-source construite par Facebook pour exécuter des programmes écrits en Hack et PHP.
Le combo Hack et HHVM vise l'un des fondements du web moderne: le développement rapide d'applications . Il n'a jamais été facile de tester et de déboguer des applications Web, mais Hack change cela en permettant aux programmeurs de détecter les erreurs dès le début sans compromettre le cycle de développement de PHP. La conclusion de plusieurs sites de technologie a été que Hack est une bonne nouvelle.
Avantages de Hack
La plus grande amélioration apportée par Hack par rapport à PHP est la suppression des fonctionnalités inutiles et sujettes aux erreurs . Hack ajoute des filets de sécurité (sans vous ralentir) afin que vous fassiez moins d'erreurs. Il ajoute également diverses fonctionnalités trouvées dans les langages de programmation modernes, ce qui rend l'écriture de code dans Hack agréable.
Hack est à la fois un langage de développement web typé dynamiquement et typé statiquement, apportant ainsi le meilleur des deux langues typées. C'est en fait ce qu'on appelle un "typage progressif", un système de type qui permet de taper des variables soit à la compilation, soit à l'exécution. Il peut exécuter votre code sans compiler - vous pouvez éditer un fichier et recharger la page Web et voir les changements instantanément.
Autres caractéristiques
Hack apporte des fonctionnalités telles que les collections, les expressions lambda, et l'exécution au moment de l'exécution des types de retour et des types de paramètres, l'ajout de génériques, la programmation asynchrone, etc.
Ces nouvelles fonctionnalités ne sont pas obstructives, donc le code écrit en utilisant Hack ressemblera toujours au code dynamique traditionnel créé en utilisant PHP. De plus, les ingénieurs comprendront mieux le code puisque le typage statique agit beaucoup comme de la documentation.
Ce qui n'est pas si avantageux
Le plus grand inconvénient de Hack est qu'il a abandonné les fonctionnalités qui font de PHP un langage plus simple pour les débutants. Vous ne pouvez pas incorporer le code HTML directement dans votre code source, et vous ne pouvez pas écrire un code en dehors d'une fonction ou d'une classe. Mais c'est un problème relativement petit. Bien que cela puisse décourager les débutants, les programmeurs PHP ne trouveraient pas difficile de s'adapter à Hack et jugeront probablement les avantages de Hack suffisamment convaincants pour être adoptés.
Facebook a déjà déployé Hack sur son site web, qui dessert plus de 1, 2 milliard de personnes dans le monde. «Nous avons déployé Hack sur Facebook et cela a été un grand succès: l'année dernière, nous avons migré presque tout notre code PHP vers Hack», indique l'article sur le blog Facebook Engineering.
L'avenir
Il va être intéressant de voir comment la communauté PHP dans son ensemble adoptera ce nouveau langage. Nous espérons voir Hack pris en charge sur d'autres machines virtuelles PHP et parseurs, ce qui simplifiera la migration de code.
Un projet open source signifie également qu'il ne dépend pas de ses créateurs originaux pour de nouvelles fonctionnalités et corrections de bugs . Nous pouvons rencontrer une fonctionnalité impressionnante à l'avenir suggérée ou ajoutée par la communauté des développeurs open source à cette nouvelle langue.
De plus, Facebook travaille également à améliorer Hack. Ils ont créé la langue après tout. "Ce n'est que la première étape, et nous sommes déterminés à continuer à faire évoluer ce logiciel pour faciliter le développement de nos propres ingénieurs et de la communauté dans son ensemble", tel que publié sur le blog Facebook Engineering.
Que penses-tu de Hack? Pensez-vous que Hack est meilleur que PHP? Peut-il remplacer PHP? S'il vous plaît poster vos réponses à travers des commentaires.
Google Fonts ne fonctionne pas en Chine - Comment y remédier
La raison pour laquelle nous utilisons l'API Google pour servir des bibliothèques telles que jQuery et Web Fonts est qu'elle sert rapidement les infrastructures fiables de Google. Il est utilisé presque partout, et à tel point que certains utilisateurs peuvent avoir déjà le cache stocké dans leur navigateur, ce qui accélère le chargement des bibliothèques.Malheure
50 dessins d'icônes d'applications pour votre inspiration
Si vous êtes comme moi, vous aimez regarder la conception de concept, et un de mes sujets préférés est la conception d'icône d'application. Vous n'avez que peu d'espace de travail et votre design d'icône d'application doit se démarquer de la foule pour être remarqué. L'application d'icône est donc une ancre visuelle pour votre application et la conception doit également refléter l'idée principale de votre application.Ne crains pa