Historia e introducción a este lenguaje.

Introducción:

Hack es un lenguaje de programación de alto nivel para la Máquina Virtual HipHop (HHVM), creado por Facebook como una extensión del lenguaje PHP. La implementación del lenguaje es de código abierto, licenciado bajo las licencias BSD y Creative Commons Atributtion 3.0. Fue introducido en marzo del 2014.

Hack permite a los programadores utilizar tanto tipado dinámico y tipados estáticos. Este tipo de sistema de tipos se le llama tipificación gradual, y también se aplica en otros lenguajes de programación como ActionScript. El Sistema de tipeo Hacks permite tipeos que se especifican para argumentos de la función, los valores de retorno de funciones y propiedades de la clase; Sin embargo, los tipos de variables locales no se pueden especificar.

Los ingenieros de Facebook Bryan O’Sullivan, Julien Verlaguet y Alok Menghrajani han pasado los últimos años creando un lenguaje de programación diferente a cualquier otro, que permite crear sitios web complejos y a gran velocidad, sin dejar de asegurar que el código funciona de manera precisa.

Hack interactúa perfectamente con PHP, que es un lenguaje de scripting de código abierto, de uso general ampliamente utilizado, que está especialmente diseñado para el desarrollo de páginas web y puede ser integrado en páginas HTML. La mayoría de los scripts PHP también son válidos en Hack; Sin embargo, funciones y construcciones del lenguaje PHP de uso menos frecuente no están soportados en Hack.

Hack extiende la determinación de tipos type hinting disponible en PHP 5 a través de la introducción de tipados estáticos, mediante la adición de algunos nuevos (por ejemplo, para los tipos escalares como enteros o cadenas de texto), así como mediante la ampliación del uso de pistas de tipado (por ejemplo, para propiedades de clase o valores de retorno de funciones).

Sin embargo, los tipados de variables locales no se pueden especificar. Dado que Hack utiliza un sistema de tipificación gradual, en el modo predeterminado, escribir anotaciones no es obligatorio, incluso en lugares que no se pueden deducir; el sistema de tipos asumirá que el autor esta en lo correcto y admitirá el código.

Sin embargo, está disponible un modo “estricto” , donde este tipo de anotaciones son requeridas.

 

Leave a Reply