¿Qué es un lenguaje de programación que puede hacerlo todo? ¿Una aplicación móvil (Android), una aplicación web o un circuito electrónico?

C (lenguaje de programación).

Puede escribir un servidor web simple en C, o escribir un script web CGI en C. El script todavía tiene que generar HTML para comunicarse con el navegador web, pero el script en sí está escrito en C.

Puede escribir una aplicación de Android en C, usando el NDK de Android.

En cuanto a la electrónica, la mayoría de los microcontroladores tienen SDK C, incluido Arduino.

Dicho esto, C no es la mejor solución, excepto quizás para los microcontroladores.

Escribir un script CGI en C consume mucho más tiempo y es más propenso a errores que escribir un script CGI usando PHP u otro lenguaje de script web.

Programar aplicaciones de Android usando el NDK es mucho más difícil técnicamente que programar usando Java.

Microcontroladores: C todavía gobierna, aunque incluso los microcontroladores de gama baja se están volviendo tan poderosos que otros lenguajes se están convirtiendo en una opción.

C es un gato de todos los oficios, funciona en casi todas partes. Es rápido y pequeño. Pero en estos días rara vez es la mejor solución en términos de productividad del programador.

Nada menos que lenguaje de programación C.

C se compila directamente en código de máquina reubicable. Si tiene el compilador adecuado, puede generar ejecutables que se ejecutan en cualquier plataforma. Por ejemplo, su teléfono Android aún ejecuta sus controladores de dispositivo Linux escritos en C o C ++.

Sin embargo, hay algo a tener en cuenta. “Puede hacerlo” puede no ser el criterio decisivo para seleccionar un lenguaje de programación para un programa. Si ese fuera el caso, es posible que no estemos viendo todos estos lenguajes de programación modernos, ya que los antiguos aún pueden hacerlo. Lo que importa es qué tan optimizados están en términos de velocidad, tiempo de desarrollo, costo, etc. Cuando se consideran todos esos factores, “puede hacerlo” puede no tener mucho valor.

¡Ese idioma no existe!

Las aplicaciones web requieren HTML, CSS y JavaScript para el front-end, y PHP, NodeJS u otro idioma, además de las interacciones de la base de datos (SQL) y el sistema de archivos en el back-end.

Las aplicaciones de Android requieren Java u otros idiomas compatibles con el NDK.

Los circuitos electrónicos no se pueden crear con un lenguaje de programación.

La lógica se puede implementar en FPGA con lenguajes de descripción de hardware como VHDL, etc.

Los microcontroladores se pueden programar con ensamblaje. C si usa Arduino IDE, y probablemente otros idiomas si usa otros IDE.

JavaScript es probablemente el más fácil de usar para los tres ejemplos. Puede crear aplicaciones de Android e iOS con React Native. Puede crear aplicaciones web con React o cualquiera de una docena de otros marcos de JavaScript. Y puede escribir en JavaScript en el nodo para Arduino o Raspberry Pi y también hay formas de usar JavaScript para chips más básicos.