¿Qué lenguaje de programación usa Facebook para hacer actualizaciones instantáneas?

LOS INGENIEROS DE FACEBOOK BRYAN O’Sullivan, Julien Verlaguet y Alok Menghrajani pasaron los últimos años construyendo un lenguaje de programación como ningún otro.

Trabajando junto a un puñado de otros dentro del gigante de las redes sociales, diseñaron un lenguaje que permite a los programadores crear sitios web complejos y otro software a gran velocidad, al tiempo que se asegura de que su código de software esté organizado con precisión y esté relativamente libre de defectos, una combinación que pocos de los actuales los idiomas incluso se acercan. Al estilo típico de Facebook, el nuevo lenguaje se llama Hack, y ya maneja casi todo el sitio web de la compañía, un sitio que sirve a más de 1.200 millones de personas en todo el mundo.

“Podemos decir con total seguridad que esto ha sido tan probado en la batalla como sea posible”, dice O’Sullivan, un veterano de las icónicas compañías tecnológicas Sun Microsystems y Linden Labwho que ha jugado un papel importante en un lenguaje popular llamado Haskell. .

O’Sullivan y la compañía revelaron públicamente su nuevo lenguaje esta mañana y, al mismo tiempo, lo “abrieron”, compartieron la tecnología con el mundo en general y alentaron a otros no solo a usarlo, sino a ayudar a mejorarlo.

El mundo del software está plagado de lenguajes de programación, y aparecen nuevos constantemente. Pero según algunos que lo han usado o que conocen el trabajo pasado de quienes lo construyeron, Hack tiene un diseño y un pedigrí que lo distingue de inmediato. “Si Bryan O’Sullivan lo construyera”, dice el gurú de la programación David Pollak, quien ayer escuchó sobre el nuevo lenguaje, “caminaría sobre las brasas para usarlo”.

En el principio —————-

Cuando Mark Zuckerberg comenzó a trabajar en Facebook a fines de 2003, un momento recreado con tal efecto en la película de Hollywood The Social Network , utilizó un lenguaje de programación llamado PHP. Era uno de los idiomas web más populares del día, un lenguaje que le permitía construir y reconstruir sitios con extrema velocidad. PHP es lo que se llama un lenguaje de tipo dinámico . Básicamente, esto significa que no necesita tomarse el tiempo para definir parámetros específicos para todas y cada una de las rutinas de su código, y una vez que termine un fragmento de código, puede ejecutarlo casi instantáneamente, sin tomar tiempo adicional para compilarlo en otra forma . El código se compila esencialmente en segundo plano, a medida que lo escribe.

> El nuevo lenguaje se llama Hack, y ya maneja casi todo el sitio web de la compañía, un sitio que sirve a más de 1.200 millones de personas en todo el mundo.

Durante la próxima década, Zuckerberg y su compañía de rápido crecimiento continuaron construyendo su sitio con PHP. Se adaptaba a “The Hacker Way”, la filosofía de codificación de Zuckerberg que alienta a los ingenieros a buscar constantemente formas de mejorar la tecnología en cuestión. Pero eventualmente, cuando Facebook se expandió a cientos de millones de personas, el lenguaje comenzó a mostrar sus limitaciones. A medida que crece un sitio PHP, necesita muchos más servidores de computadora para ejecutarlo que con otros idiomas, y puede ser difícil administrar todo su código y mantenerlo libre de errores.

En cierto tamaño, es mejor utilizar lenguajes de tipo estático como Java, donde debe definir cuidadosamente sus tipos de variables. No puede moverse tan rápido con estos idiomas, debe compilar el código antes de ejecutarlo, pero necesita menos servidores para ejecutar su código y, a la larga, es más fácil administrar lo que ha creado.

El año pasado, después de una lluvia de ideas de tres ingenieros superiores, Facebook resolvió el problema del servidor ejecutando todo su código PHP en una nueva creación de software llamada HHVM, abreviatura de Hip Hop Virtual Machine. HHVM fue una nueva base para el sitio web de Facebook, permitiendo a la compañía administrar su sitio en un número significativamente menor de máquinas. Ahora, con Hack, su nuevo lenguaje de programación, Bryan O’Sullivan y su pequeño equipo han resuelto el otro problema. Hack facilita la administración de código y elimina errores.

“Surgió del deseo de mejorar la eficiencia de nuestros desarrolladores”, dice O’Sullivan, nacido en Irlanda. “A medida que nuestro equipo de ingeniería creció, sus propios trabajos se volvieron más complicados porque PHP es un lenguaje de tipo dinámico. Les dificultaba comprender fácilmente las consecuencias de parte del trabajo que estaban haciendo”.

El nuevo PHP ———–

Puedes pensar en Hack como una nueva versión de PHP. También se ejecuta en la máquina virtual Hip Hop, pero permite a los codificadores utilizar tanto la escritura dinámica como la escritura estática. Esto es lo que se llama mecanografía gradual , y hasta ahora, ha sido principalmente un ejercicio académico. Facebook, dice O’Sullivan, es el primero en llevar la escritura gradual a un lenguaje de “fuerza industrial real”.

Lo que esto significa es que Facebook pudo reemplazar gradualmente su código PHP existente con Hack: muévase del viejo sistema de tipo dinámico a un arreglo de tipo estático. “Le permite deslizar el dial usted mismo en el continuo entre tipos dinámicos y estáticos, para que pueda comenzar con un código escrito dinámicamente y luego agregar gradualmente más código estático, beneficiándose de cada pequeño trabajo que realiza a medida que avanza, “Dice O’Sullivan.

Al hacerlo, explica, Facebook creó un código mucho más preciso, un código con menos fallas. Hack proporciona una especie de red de seguridad para desarrolladores. Además, los ingenieros pueden entender más fácilmente el código cuando lo revisan. La escritura estática se parece mucho a la documentación.

Pero el gran truco es que Hack proporciona estos beneficios sin ralentizar al desarrollador: a diferencia de otros lenguajes de tipo estático, Hack puede ejecutarse sin compilar. “Usted edita un archivo y vuelve a cargar una página web e inmediatamente recibe comentarios de: Así es como se ve la página después de que hice ese cambio. No hay demora”, dice O’Sullivan. “Obtienes seguridad y velocidad”.

Nils Adermann, ingeniero de software y cofundador de una compañía llamada Forumatic, ha usado el lenguaje y dice que no conoce nada más parecido. James Miller y Simon Welsh, ingenieros de una compañía llamada PocketRent, que también han usado Hack, están de acuerdo. Lo más parecido, dicen, es Haskell, un lenguaje de tipo estático que proporciona una forma de ejecutar código relativamente rápido. Pero Hack, indican, lleva la idea mucho más lejos.

Hack será particularmente atractivo, dice Adermann, para las tiendas PHP existentes. “Irónicamente”, dice, “su principal ventaja es lo poco que difiere de PHP”. Al igual que Facebook, estas tiendas pueden mover gradualmente sus operaciones de un idioma a otro. Pero Adermann también cree que algunos desarrolladores adoptarán el lenguaje incluso si aún no están usando PHP. “Si bien PHP es el lenguaje más utilizado en la web, no es popular en muchos lugares debido a sus inconsistencias”, dice. “Hack aborda estos … y por lo tanto hace que el lenguaje sea más atractivo para los usuarios de otros idiomas”.

Pero el mayor respaldo para el nuevo lenguaje es que Facebook ya lo usa para ejecutar su propio sitio, la red social más popular del mundo. No todos los días se estrena un nuevo idioma con un historial tan impresionante. Algunos, sin embargo, cuestionan si Hack realmente debería llamarse un nuevo lenguaje de programación. Aquí hay una línea muy fina entre una actualización de PHP y un reemplazo para PHP. ¿Dónde dibuja Facebook esa línea? “Eso”, dice Sullivan, “es una buena pregunta para discutir a altas horas de la noche en los whiskys”.

  • # DESARROLLADORES
  • #EMPRESA
  • #FACEBOOK
  • #HACKS
  • #MARK ZUCKERBERG
  • #FUENTE ABIERTA
  • #PHP
  • #INVESTIGACIÓN
  • #SOFTWARE

MÁS POPULAR

  • TRANSPORTE Por qué el Tesla Model S no pudo acertar esa pequeña superposición Prueba de choque frontal AUTOR: ALEX DAVIESALEX DAVIES
  • CULTURA Estos días tiene más sentido para Batman ser un villano AUTOR: GRAEME MCMILLANGRAEME MCMILLAN
  • GEAR: tu teléfono es tu gadget más vulnerable. Protéjalo ahora AUTOR: DAVID PIERCEDAVID PIERCE

MÁS HISTORIAS

VER COMENTARIOS

HISTORIAS PATROCINADAS

IMPULSADO POR OUTBRAIN

  • MANSION GLOBAL Echa un vistazo a este súper yate loco
  • PIEL. BELLEZA DE LAS MUJERES. EN LÍNEA ¿Mejor que el Botox? Haz esto una vez al día
  • 360DX.COMAgena recibe la marca CE-IVD para MassArray con un nuevo módulo
  • BLINKIST MAGAZINE: 1 millón de personas se han cambiado a esta nueva forma de leer
  • TECNOLOGÍA ZEBRA Manténgase actualizado sobre la evolución de la industria minorista: descargue este estudio
  • HEAR.COMSiemens audífonos: los mini robots invisibles para tus oídos

PHP no es un lenguaje frontend , y en realidad es un lenguaje backend porque es procesado por el servidor. Un lenguaje frontend sería HTML o JavaScript porque es procesado por el navegador del visitante del sitio web.

Y las actualizaciones instantáneas solo se pueden hacer usando JavaScript (o HTML muy mínimo) que son lenguajes frontend. Facebook se sincroniza casi en tiempo real con el JavaScript en su sitio web y, como resultado, se conecta al servidor de Facebook y le permite a la aplicación conocer cualquier nueva actualización. Estas actualizaciones se aplican a su pantalla en un mecanismo totalmente diferente al de un sistema de fondo, principalmente debido a los diferentes idiomas involucrados.

Podrá ver que si desactiva su JavaScript de las preferencias de su navegador, las actualizaciones instantáneas ya no estarán activas y requerirán una recarga de la página. La mayoría de las aplicaciones dependen mucho más que otras de JavaScript, por lo que no espere que todos los sitios web funcionen con JavaScript deshabilitado.