UNCOL ( Lenguaje Universal Orientado a Computadora ) es un lenguaje intermedio universal para compiladores . La idea fue introducida en 1958 por un comité ad hoc de SHARE . [1] Nunca se especificó ni implementó completamente; en muchos sentidos era más un concepto que un lenguaje.
UNCOL tenía como objetivo hacer que los compiladores estuvieran económicamente disponibles para cada nueva arquitectura de conjunto de instrucciones y lenguaje de programación , reduciendo así un problema de N×M a N+M. [2] Cada arquitectura de máquina requeriría solo un compilador back-end, y cada lenguaje de programación requeriría un compilador front-end. Este era un objetivo muy ambicioso porque la tecnología de compilación estaba en su infancia y había poco estandarizado en hardware y software de computadora.
Historia
El concepto de tal lenguaje intermedio universal es antiguo: el informe SHARE (1958) ya dice que "[ha] sido discutido por muchas personas independientes ya en 1954". Macrakis (1993) resume su destino:
La UNCOL fue un esfuerzo ambicioso para principios de los años 1960. Un intento de resolver el problema de la escritura del compilador finalmente fracasó porque el lenguaje y la tecnología del compilador aún no estaban maduros. En la década de 1970, los compiladores contribuyeron finalmente a resolver el problema que se planteó la UNCOL: la producción económica de compiladores para nuevos lenguajes y nuevas máquinas.
UNCOL se utiliza a veces como término genérico para la idea de un lenguaje intermedio universal. El formato de distribución neutral de arquitectura es un ejemplo de UNCOL en este sentido, al igual que varios sistemas de código de bytes como el código p de UCSD Pascal y, más notablemente, el código de bytes de Java . [3]
Ver también
Notas
- ^ Fuerte, J.; Wegstein, J.; Tritter, A.; Olsztyn, J.; Mock, O.; Steel, T. (agosto de 1958). "El problema de la programación de la comunicación con las máquinas cambiantes: una propuesta de solución". Comunicaciones de la ACM . 1 (8): 12-18. doi : 10.1145/368892.368915 . Consultado el 21 de febrero de 2022 .
- ^ John Levine (23 de noviembre de 2021). "UNCOL y reversión de modificaciones de listas de correo". dmarc-ietf (lista de correo) . Consultado el 24 de noviembre de 2021 .
- ^ John English, Introducción a los sistemas operativos: detrás del escritorio , Palgrave MacMillan 2005, ISBN 0230374085 , p. 10
Referencias
- Conway, Melvin E. (1 de octubre de 1958). "Propuesta de UNCOL". Comunicaciones de la ACM . 1 (10): 5–8. doi : 10.1145/368924.368928 . ISSN 0001-0782.
- Jean E. Sammet, Lenguajes de programación: historia y fundamentos , Prentice-Hall, 1969. Capítulo X.2: UNCOL (Conceptos importantes no implementados), p. 708.
- COMPARTIR Comité Ad-Hoc sobre Lenguajes Universales (J. Strong, J. Olsztyn, J. Wegstein, O. Mock, A. Tritter, T. Steel), "El problema de la programación de la comunicación con máquinas cambiantes", Comunicaciones del ACM 1 :8:12–18 (agosto de 1958) y 1 :9:9–15 (septiembre de 1958).
- Stavros Macrakis, "From UNCOL to ANDF: Progress in Standard Intermediate Languages", White Paper, Open Software Foundation Research Institute, RI-ANDF-TP2-1, enero de 1992. Disponible en CiteSeer
- TB Steel, Jr., "UNCOL: Lenguaje universal orientado a computadora revisitado", Datamation (enero/febrero de 1960), pág. 18.
- TB Steel, Jr., "Una primera versión de UNCOL", Proc. Western Joint Computer Conference 19 :371 (Los Ángeles, 9 al 11 de mayo de 1961).
- TB Steel, Jr., "UNCOL: El mito y el hecho", Revisión anual en programación automática 2 :325 (1961).