Casi toda la Búsqueda de Google, incluido el front-end HTTP, está construida en C ++. Bigtable está construido en C ++. MySQL y Postgres están construidos en C / C ++. Gmail está construido principalmente en Java. Yahoo tiene en gran medida backends C ++ y front-end PHP. Youtube tiene en gran medida backends C ++ y front-end Python. Facebook tiene backends C / C ++ y front-end Hack / HHVM.
La mayoría de los productos de baja latencia muy exitosos tienen backends construidos sustancialmente en C o C ++, por la sencilla razón de que la latencia del percentil 99 a escala es importante y el GC de vanguardia libre actual todavía tiene pausas indeseables reales. (Comercial Azul Zing, IBM Metronome son mejores, y la promesa de OpenJDK Shenandoah está en el horizonte)
Cuando se usa GC, se usa con mayor frecuencia solo para el nivel de front-end que sirve HTML / JSON. La opción más común a escala es Java (o C #). Esto se debe a que una vez que el software se convierte en gran escala con equipos grandes, los lenguajes dinámicos interpretados (PHP, Python, Ruby) tienen una velocidad de ejecución relativamente lenta y fragilidad de cambio por falta de verificación de tipos estáticos. Los lenguajes dinámicos generalmente todavía se usan para el código de pegamento / automatización, pero no para servir el tráfico en vivo.
- ¿Qué es el CMS, o el back-end, parte de Quora?
- ¿Cómo puedo convertirme en desarrollador web front-end y back-end? Actualmente sé HTML, CSS, hice un poco de Java y Ruby on rails. ¿Cuántas horas necesito?
- Cómo construir un sitio web basado en una base de datos por primera vez
- Me ofrecieron un trabajo de ingeniería de software con opciones de hacer trabajos de backend o Android. ¿En cuál debería centrarme?
- Como novato total en el desarrollo web backend, ¿debería aprender PHP y MySQL o debería aprovechar mi conocimiento de Javascript y usar Javascript node.js en el backend para interactuar con la base de datos MySQL?
Facebook es un caso interesante, ya que en lugar de reescribir su código PHP directamente, crearon el lenguaje Hack, en su mayoría compatible con versiones anteriores, que admite la ejecución de JIT y la verificación de tipo estático en una extensión de sintaxis PHP con anotaciones de tipo.