Ya he aprendido otra cosa :D

por Áureo Ares

Hack: Facebook nos trae el nuevo PHP… ¿o no?

marzo 31st, 2014
hack_language

Logotipo de Hack, el nuevo lenguaje de programación creado por Facebook y basado en PHP.

Hace poco que Facebook ha liberado su lenguaje de programación Hack, un nombre desafortunado para buscar en Google (prueba a buscar “hack code sample”).

Para echarle un vistazo rápido, el pequeño tutorial (inglés) que han preparado es un modo de empezar. Para empezar a probarlo más en serio se puede instalar una máquina virtual de Vagrant (inglés) con HHVM (inglés). Googleando un poco se encuentran máquinas virtuales ya listas para utilizar.

En docs.hhvm.com está toda la documentación sobre HHVM y Hack. De momento toda la documentación es en inglés, pero supongo que con el tiempo la irán traduciendo.

Ya hay montones de artículos por ahí enumerando las características y novedades del lenguaje (y se pueden leer en la web oficial o en el mismo índice del manual, no hace falta irse más lejos), así que me centraré en dos reflexiones que seguramente estaremos haciendo muchos ahora mismo:

¿Vale la pena aprenderlo y utilizarlo?

Si ya controlas PHP y comprendes los nuevos conceptos añadidos por Hack de trabajar con otros lenguajes, realmente hay poco que aprender salvo algunas reglas más de sintaxis. El resto es como en todos los lenguajes, usarlo lo suficiente como para aprender a “pensar en Hack” para sacarle el máximo partido.

Usarlo o no supongo que depende del punto de vista. Si quieres trabajar en Facebook, ya estás tardando :D. Creo que no se pierde nada por probarlo en una pequeña aplicación, aunque sólo sea por curiosidad. Pero para un proyecto serio me lo tendría que pensar.

Tiene desde luego un punto muy a favor: si Facebook lleva un tiempo utilizándolo, mal no debe funcionar. A esto se añaden todas las mejoras sobre PHP, que a simple vista parecen muy atractivas.

Sin embargo, hay que tener en cuenta un par de cosas. Supongamos que empiezas un proyecto nuevo y decides desarrollarlo con Hack. Supongamos también que dentro de dos años Facebook decide migrar a Python (por decir algo) y abandona el desarrollo de Hack y de HHVM. Como “la comunidad” no retome el proyecto y además lo haga bien (que puede pasar) vas a tener un problema.

También hay que tener en cuenta que HHVM y Hack están creados por Facebook para satisfacer sus necesidades específicas. Estas necesidades pueden coincidir con las tuyas o no.

¿Hack va a sustituir a PHP?

Pues no lo creo, al menos en mucho tiempo.

Supongamos por un momento que Hack es “superior” a PHP en todos los aspectos. Aunque fuese así, es muy difícil que los grandes frameworks y CMS se conviertan y mantengan dos versiones del software (Hack y PHP).

Por otra parte, el grueso de la comunidad de PHP está demasiado acostumbrado a buscar en Google cómo hacer X cosa en PHP y encontrar 40 implementaciones donde elegir. Por mucho que se pueda hablar de las bondades de PHP, su mejor carta es la enorme cantidad de código que ya hay escrito.

También es posible que con el tiempo PHP vaya adoptando características de Hack. Seguramente incluyendo el tipado gradual (la característica estrella de Hack) ya disuadiría a la mayoría de desarrolladores de “pasarse” a Hack, aunque no será lo que se dice una tarea fácil.