¿Cuál es el término para un lenguaje de programación que puede cambiar en tiempo real?

¿Estás preguntando acerca de un idioma que puede cambiar “en tiempo real”? Creo que quieres decir mientras se está ejecutando. ¿O está preguntando acerca de un lenguaje que le permita escribir programas que puedan cambiar en el tiempo de ejecución? No soy realmente un experto en idiomas, pero el único idioma que conozco que puede hacer ambas cosas es Lisp y sus dialectos (Scheme, Clojure y varios otros). La estructura de datos básica en Lisp es una lista (posiblemente anidada), y los programas de Lisp están formados por listas. Por lo general, se puede acceder a estas listas en tiempo de ejecución, por lo que el programa puede cambiar a sí mismo mientras se ejecuta. Los programas Lisp están formados por expresiones de la forma (operador operando operando …), por lo que lo que el programa puede hacer está limitado por los operadores disponibles. Como puede definir nuevos operadores y llamarlos en tiempo de ejecución, puede escribir programas que cambien el idioma en que se escriben mientras se ejecutan. Es genial una vez que te concentras en ello.

Estás confundiendo dos conceptos. La razón por la que puede “Cambiar el contenido de la página” con javascript es porque el Modelo de Objetos del Documento (DOM) está expuesto como una API para el tiempo de ejecución de JavaScript.

No hay nada sobre JavaScript que lo haga especial para poder hacer esto.

Por ejemplo, puede usar python con CGI en apache y sentir que es muy parecido a PHP, luego puede descubrir un api / framwork como Brython y pensar que es más como javascript.

Tres cosas a tener en cuenta para cualquier tarea: idioma, tiempo de ejecución, API

Siendo realistas, lo que le da a JS la capacidad de manipular DOM es la API y el hecho de que su tiempo de ejecución es el navegador.

Cualquier lenguaje que pueda ejecutarse en el navegador, con acceso a esa API, podría hacer lo mismo que JS.

Normalmente eso es solo una función de ejecución en tiempo de ejecución. Comparar php y JavaScript de esta manera no es del todo justo, ya que el tiempo de ejecución que hace php se encuentra en un contexto completamente diferente que la ejecución de JavaScript en tiempo de ejecución en el navegador. Por ejemplo, en php, usted tiene una solicitud y una respuesta que generalmente se transfiere hacia y desde un proceso de servidor web como apache y de regreso a apache después de que se completa la ejecución. Pero también podría ejecutar una aplicación php que no finalice de esa manera que se ejecute fuera de una cola y funcione en tiempo real o de otra manera. Pero ese tiempo real está dentro del contexto de ejecución de los scripts en ejecución. Ambos idiomas pueden hacer eso. Sin embargo, JavaScript es una opción más natural para eso porque el contexto de ejecución es la ventana actual de la página que se está viendo y dura toda la vida de esa página.

Además, ambos idiomas son totalmente compatibles con la reasignación de tipos dinámicos (lenguaje dinámico) a pesar de que están comparando manzanas y naranjas.

Has mencionado los términos tu mismo. Tiempo real y contenido dinámico. Estos son los términos utilizados ampliamente. Puedes hacer todo esto con JavaScript.

  • Ajax (contenido dinámico) incluido en jQuery y cualquier marco frontend
  • Las bibliotecas de Websockets (en tiempo real) como Socket.IO son ampliamente utilizadas.
  • Pub / Sub (tiempo real) es la cola de mensajes (mq) que utiliza el submodelo pub. Ejemplo: rabbitmq, zeromq. También debe instalar un servidor mq.

“Si se cambia una variable en PHP, se debe volver a cargar toda la página”

No es cierto ‘Puede usar AJAX para cambiar una letra, una palabra, un párrafo, sin reenviar la página.

Entonces aprende AJAX. Hace que una aplicación web funcione más como una aplicación de escritorio, donde la “UI” y el “back end” están en el mismo programa. (Envié 25 registros de una base de datos en el servidor al navegador y actualicé una cuadrícula en el navegador en segundos, sin reenviar toda la página. También cambié una casilla de verificación de en blanco a marcada de la misma manera: AJAX).