Facebook anuncia su propio lenguaje de programación llamado Hack
Prácticamente desde hace tres semanas les vengo informando sobre noticias de Facebook, y es que ahora resulta que anunció su propio lenguaje de programación llamado Hack. Este lenguaje de programación tiene como bases la programación estructurada de C y la programación orientada a objetos de PHP, dando como resultado un lenguaje sumamente fácil de manipular. Recordemos que muchos lenguajes de alto nivel cumplen con estas características, lo que los hacen muy amigables para la gente que no está tan inmersa en el mundo de la programación.
Entonces, vamos a echarle un vistazo a lo que ofrece este lenguaje, su sintaxis, su facilidad de uso, etc, etc. Es interesante ver si a largo plazo tendrá un futuro en la consola de los desarrolladores, o solo será un proyecto interno más de estas empresas en su lucha por homogeneizar todo el ambiente de sus productos.
Contexto
Para quien no conoce a PHP les cuento rápido qué es. PHP es un lenguaje de programación que funciona en el servidor, es decir, tiene que compilarse para poder ser ejecutado, la principal diferencia con Javascript. PHP se hizo muy popular por ser de los primeros lenguajes que soportaban esta capacidad de realizar operaciones en el servidor, como conectarse a las bases de datos, y pronto se hizo muy usado en internet. PHP no era un lenguaje orientado a objetos, lo que lo hacía carecer de muchas funciones que hicieran construir aplicaciones web mucho más complejas, por eso fue que en sus últimas versiones se lanzó PHP con sintaxis y soporte para manejar objetos, lo que lo hizo despegar de nuevo en internet.
Lo único que personalmente no me gusta de PHP es la forma de usar las variables, ya que poner el “$” siempre ha sido una de mis mayores pesadillas, pero en general PHP es un lenguaje sumamente fácil de aprender y usar.
Hack
Realmente si se fijan en las diferencias entre PHP y Hack son casi mínimas, a excepción de las características que implementaron en el segundo. Por ejemplo, las funciones en Hack deben definir un tipo, algo que resulta obvio para muchos lenguajes de programación, pero si están desarrollando en internet saben que prácticamente no existen tipos.
Es algo ilógico que las funciones deban de ser de tipo, ya que las variables como tal no piden tampoco que se especifique tipo, pero de hecho se puede hacer.
Otra de las características es la de poder decirle a una función que un parámetro puede dejarse nulo, para que de alguna forma se implemente el polimorfismo pero sin tener que sobrecargar la función. Es obvio que este tipo de característica no es aplicable a todas las funciones, pero es bueno tener esta opción por si se requiere validar un valor, o incluso si se quiere hacer una acción específica con el valor null.
Una implementación poderosa es la de los tipos genéricos. Esto quiere decir que podemos hacer templates para después usarlos con los tipos de datos que nosotros queramos, sin tener que preocuparnos de definir funciones para cada uno de ellos.
Otra de las novedades que en mi gusto me parece muy bueno es que ahora si definimos clases Hack nos obliga a que definamos parámetros de inicialización de sus atributos, ya que de esa forma se asegura que las variables tengan un valor deseado, y no basura que se genera por memoria.
Conclusiones
Hay muchas más características que tiene este nuevo lenguaje de programación, y en cierta forma importan mucho más a los que buscan optimizar código y tiempo al máximo. Para los desarrolladores mortales como nosotros podemos ver que hay cosas que puedes hacer de forma mucho más fácil a como lo harías en PHP, además de que ves a Hack más como un lenguaje más maduro y no tanto como algo de niños, como lo ven a PHP.
Pueden leer toda la documentación en el sitio oficial de Hack, hay desde ejercicios, hasta tutoriales ya muy complejos. Todo es para incentivar a la gente a que empiece a desarrollar y por supuesto, abrirse un huequito en el mundo de la programación en internet. Yo sinceramente no lo usaría por las mismas razones de que es muy joven todavía y el soporte que tiene PHP es sumamente superior al que puede tener Hack, pero para gustos hay sabores.
