Los sitios a escala de Facebook, Twitter, etc. utilizan una combinación de lenguajes de programación.
Por ejemplo, gran parte del código de Facebook está escrito en PHP, pero ellos han escrito HipHop, que transforma PHP en código C ++ y luego lo compila. Entonces, obviamente, hacen un desarrollo interno de C ++. Cassandra está escrita en Java.
Twitter tiene parte de su código de front-end en Ruby, pero su código de back-end ahora está en Scala y Erlang. Todos eran Rails anteriormente, pero han cambiado con el tiempo debido a las preocupaciones de escala.
- ¿Es posible aprender a programar (codificar) PHP después de los 35 años y solo conocer algunos conceptos básicos en HTML?
- ¿Cuál es la diferencia entre usar Parse.com con React vs Backbone vs AngularJS?
- Cómo hacer que una capa se muestre sobre otra en HTML / CSS
- ELI5: ¿Qué es la herencia diferencial?
- ¿Cómo funciona el desarrollo web?
Todos los “gigantes” que se me ocurren de manera informal tienen algún tipo de arquitectura orientada a servicios, donde tienen muchos componentes diferentes que se comunican a través de llamadas de red. Una cosa buena de las SOA es que cada componente se puede escribir en un idioma diferente si es necesario. Entonces, si hay una parte de su sistema que realiza cálculos intensivos vinculados a la CPU, puede escribir un servicio en C y ensamblar que lo haga increíblemente rápido, pero otros servicios pueden escribirse en lenguajes de nivel superior.
Si desea obtener más información sobre cómo algunas grandes empresas diseñan sus sistemas, consulte el blog High Scalability. Tienen muchos artículos geniales, como este sobre Escalar Twitter: Hacer que Twitter sea 10000 por ciento más rápido.