¿Cómo se traducen exactamente los lenguajes de programación a una aplicación como Facebook o un juego como doodle jump?

Esto se llama “programación”, y generalmente es una habilidad independiente del lenguaje de programación (la habilidad de dividir los problemas en problemas más pequeños y encontrar soluciones para ellos: la estrategia y las tácticas de resolución de problemas).

Utiliza múltiples lenguajes de programación exactamente por razones de simplicidad: cada lenguaje de programación está hecho con la resolución de algún tipo de problemas en mente, por lo que si los subproblemas son lo suficientemente diferentes, es más fácil usar múltiples lenguajes de programación, cada uno adecuado para el subtipo específico. problema en mano Por ejemplo, para consultar bases de datos, hay SQL, un lenguaje creado específicamente para ese problema: si lo intentas, por ejemplo, Python o algo así, terminarías escribiendo mucho más código, y será mucho más complejo y más lento de desarrollar ( solo imagine todos los bucles anidados y las tablas hash temporales y cosas que necesitaría crear, mientras que el motor SQL los resolverá automáticamente, en el peor de los casos, requerirá pequeñas sugerencias).

Además, un programador experimentado puede aprender un nuevo lenguaje de programación en un par de días; realmente no es gran cosa. Es posible que necesiten un par de semanas para familiarizarse con las bibliotecas y cómo debería ser el código idiomático en ese idioma, pero esto todavía no es nada en comparación con la programación de aprendizaje (que puede tomar fácilmente una década, en comparación con eso, un par de semanas o incluso meses es de hecho nada).

La metodología que usaría para emular una plataforma exactamente como Facebook es ser Facebook.

No puede ver las granjas de servidores y otro hardware e infraestructura, incluidos los vendedores y otros administradores, además de los programadores y administradores de sistemas y otros analistas. En otras palabras, todo lo que es Facebook no cabe en la cabeza de ninguna persona. Como no está en la cabeza de ninguna persona, es más fácil que se entienda bien para cada persona que está trabajando en cada parte.

Facebook no está escrito en un solo idioma. Incluso si el sitio web es, las herramientas de soporte no lo son. La simplicidad es usar la herramienta adecuada para cada trabajo. No hay un idioma que sea una herramienta universal perfecta. Si bien los lenguajes de programación no necesitan seguir las leyes físicas de la misma manera que un destornillador y un martillo, cada lenguaje de programación, aunque es una herramienta general, resalta una característica tan destacada por ser más fácil de acceder.

Por ejemplo, no hay una regla que indique que en Java debe estar orientado a objetos, aparte de eso debe tener al menos un objeto con un método principal para poder ejecutarlo. Si está dispuesto a marcar todo como público estático, puede convertirlo nuevamente en un lenguaje orientado a procedimientos. Sin embargo, hacerlo es una pérdida de tu talento y del cuidado de Java del lenguaje para hacerlo más orientado a objetos.

Cada lenguaje de programación resalta uno o más paradigmas de manera más prominente que otros (o algunos no lo hacen en absoluto), lo que ayuda a que sean más adecuados para diversos fines.

Entonces, sin ser demasiado técnico, la respuesta a la pregunta es que los programas se crean en capas sobre los sistemas físicos. Los circuitos se pueden entender en términos de semiconductores, cables y electrones. Los números, la lógica y la secuencia pueden entenderse como circuitos. El código de máquina puede entenderse como números, lógica y secuencia. Se puede entender que los lenguajes de programación producen un código de máquina. Facebook puede entenderse como un lenguaje de programación.

Pero no se te ocurra que todo es finito y estático. No se te ocurra que Facebook es una cosa. Las cosas están cambiando constantemente en cada nivel. Facebook cambia las características. Los lenguajes de programación cambian las características. Las máquinas cambian características. Puede agregar y eliminar hardware de Facebook sin que nadie lo note. Los electrones zumban a través de las computadoras a velocidades cercanas a la luz.

En todos los niveles, la experiencia humana dio forma a lo que era posible, y esa es la historia de éxito de las computadoras. Son la segunda herramienta más compleja a la que tenemos acceso. El primero es nuestro propio cuerpo.