HipHop for PHP
# HipHop for PHP

HipHop for PHP (HPHPc) es un transcompilador PHP descontinuado creado por Facebook. Mediante la utilización de HPHPc,el código PHP es traducido a código C++, y compilado como ejecutable, opuesto a la usual ejecución de PHP, donde el código es transformado en opcode e interpretado. HPHPc consiste mayormente en C++, C y código fuente PHP, el cual es distribuido bajo la Licencia PHP.

Las motivaciones originales detrás de HipHop fue salvar recursos en los servidores de Facebook, dada la extensa cantidad de código que mueve a facebook.com. A medida que el desarrollo de HipHop progresaba, se determinó que este podía incrementar sustancialmente el rendimiento de las aplicaciones PHP en general; se ha observado un rendimiento en la generación de páginas web hasta seis veces superior comparado con el Motor Zend de PHP. Uno de los objetivos de HPHPc fue proveer alta compatibilidad para el motor Zend, donde la mayoría de los programas basados en PHP-Zend puedan ejecutarse sin modificaciones. HPHPc fue originalmente liberado como código abierto en 2010.

Como agregados a HPHPc, los ingenieros de Facebook también crearon un "modo desarrollador" de HipHop (una versión interpretada del motor de ejecución de PHP, conocido como HPHPi), y el Depurador HipHop (conocido como HPHPd). Estos agregados permitían a los desarrolladores correr código PHP a través de la misma lógica provista por HPHPc mientras permitía depurar el código PHP interactivamente definiendo inspectores de código, interruptores de ejecución, etc. La ejecución de código a través de HPHPi muestra menor rendimiento comparado con HPHPc, pero beneficia a los desarrolladores de tener ambos motores en funcionamiento, uno para desarrollo y el otro en producción. HPHPi y HPHPd se publicaron como código abierto en 2010.

HPHPc cumplió cabalmente sus metas, especialmente en conjunto con Facebook permitiendo que facebook.com corriera mucho más rápido y utilizando menos recursos. Sin embargo, en 2013, Facebook dejó HPHPc obsoleto en favor de su nuevo producto, HipHop Virtual Machine (HHVM), el cual es un compilador basado en just-in-time (JIT) de PHP, también desarrollado por Facebook. Hay varias razones para esto; una de ellas es que la curvatura de mejoras de rendimiento de HPHPc fue decayendo. Además, HPHPc no tenía soporte completo para PHP, incluyendo los constructores create_function y eval, e implicaba gran consumo de tiempo y recursos requeridos para generar binarios compilados de más de 1 GB, los cuales debían ser distribuidos entre los servidores de Facebook en corto tiempo. Adicionalmente, mantener código HPHPc y HPHPi en paralelo (necesario para mantener la consistencia entre los entornos de desarrollo y producción) se volvió engorroso. Finalmente, HPHPc no fue un reemplazo directo del motor Zend, requiriendo que los consumidores cambiasen los procesos de desarrollo y despliegue.

