Lenguajes de programación Von Neumann
Un lenguaje programación de tipo Von Neumann es cualquier lenguaje de programación que contiene un alto grado de abstracción y que está basado en la arquitectura de von Neumann. En 2009, la mayoría de los lenguajes de programación se ajustan a esta descripción, debido a la gran expansión de dicha arquitectura durante los últimos 50 años.
Las diferencias entre Fortran, C, e incluso Java, aunque considerables, son en última instancia, limitadas por el hecho de que los tres se basan en el estilo de programación de la computadora de von Neumann. Si por ejemplo, los objetos de Java fueran ejecutados en paralelo con el paso de mensajes asíncronos y estuviera basada en direccionamiento “declarativo”, entonces, Java no estaría en el grupo. En pocas palabras, toda la programación se basa en su estilo de programar la computadora (Von Neuman). En conclusión, es un estilo único.
Algunas relaciones del isomorfismo entre los lenguajes de programación y arquitecturas von Neumann son las siguientes:
- Las variables ↔ Celdas de almacenamiento
- Instrucciones de control ↔ instrucciones de salto
- Instrucciones de asignación ↔ búsqueda, almacenamiento de instrucciones.
- Expresiones ↔ Referencias de memoria e instrucciones aritméticas.
Según una metáfora de Backus, las instrucciones de asignación en los lenguajes de von Neumann están divididas en dos “mundos”. El primer “mundo” se compone de expresiones y está formado por un espacio matemático ordenado con un extenso repertorio de propiedades algebraicas de importante utilidad: la mayoría de operaciones de cálculo tienen lugar aquí. El segundo “mundo” se compone de estados: está formado por un espacio matemático desordenado, con propiedades algebraicas poco útiles “(sin embargo, la programación estructurada puede ser vista como una heurística restringida que se aplica en este espacio)”.
Backus afirmó que se ha desarrollado un círculo vicioso en las ciencias de la computación: el gran interés durante tanto tiempo en los lenguajes Von Neumann ha provocado la primacía de este tipo de arquitecturas, es decir, los lenguajes que no están basados en von Neumann son más costosos y por tanto su desarrollo queda limitado. La falta de difusión y eficacia de lenguajes no basados en von Neumann conlleva una falta de motivación y fundamentos intelectuales en los diseñadores actuales para desarrollar nuevas arquitecturas.
Algunos ejemplos de lenguajes no von Neumann son: APL, FP, FL, J, NGL, ZPL, Mercury, y Plankalkül.
Referencias
[editar]Este artículo esta originalmente basado en el material extraído de Free On-line Dictionary of Computing, el cual posee licencia GFDL
Originalmente escrito en inglés, http://en.wikipedia.org/wiki/Von_Neumann_programming_languages