Articulo de referencia

Turing (lenguaje de programación)

Turing es un lenguaje de programación de alto nivel y propósito general desarrollado en 1982 por Ric Holt y James Cordy en la Universidad de Toronto , Ontario, Canadá. Fue diseñ...

Turing es un lenguaje de programación de alto nivel y propósito general desarrollado en 1982 por Ric Holt y James Cordy en la Universidad de Toronto , Ontario, Canadá. Fue diseñado para ayudar a los estudiantes que cursaban su primer curso de informática a aprender a programar. Turing es descendiente de Pascal , Euclid y SP/k, y se caracteriza por una sintaxis clara y una semántica precisa e independiente de la máquina .

Turing 4.1.0 es la última versión estable. Las versiones 4.1.1 y 4.1.2 no generan archivos ejecutables (.exe) independientes . Las versiones anteriores a la 4.1.0 tienen sintaxis y funciones obsoletas.

Descripción general

Nombrado en honor al científico informático británico Alan Turing , Turing se utiliza principalmente como lenguaje de enseñanza en la escuela secundaria y la universidad. [ 1 ] Existen otras dos versiones: Turing Orientado a Objetos y Turing+ , una variante de programación de sistemas. En septiembre de 2001, "Turing Orientado a Objetos" pasó a llamarse "Turing" y el Turing original pasó a llamarse "Turing Clásico". Holt Software Associates, con sede en Toronto, Ontario , ya no ofrece soporte para Turing . Turing se utilizaba ampliamente en las escuelas secundarias de Ontario como introducción a la programación. [ 2 ]

El 28 de noviembre de 2007, Turing, que anteriormente era un lenguaje de programación comercial, se convirtió en software libre, disponible para su descarga gratuita desde el sitio web del desarrollador para uso personal, comercial y educativo. [ 3 ] [ 4 ] [ 5 ]

Los creadores de Turing, Holt Software Associates, cesaron sus operaciones y Turing no ha tenido más desarrollo desde el 25 de noviembre de 2007. [ 4 ]

Sintaxis

Turing está diseñado para tener una sintaxis muy ligera, legible e intuitiva . Aquí está el programa completo "¡Hola, mundo!" en Turing con resaltado de sintaxis :

¡Pon "Hola Mundo!"

Turing evita los puntos y comas y las llaves , utilizando marcadores de fin explícitos para la mayoría de las construcciones del lenguaje, y permite declaraciones en cualquier lugar. Aquí hay un programa completo que define y utiliza la función recursiva tradicional para calcular un factorial .

% Acepta un número y calcula su factorial.función factorial ( n : int ) : real si n = 0 entonces resultado 1 sino resultado n * factorial ( n - 1) fin si fin factorialvar n : int loop put "Por favor, ingrese un número entero: " .. get n exit when n >= 0 put "La entrada debe ser un número entero no negativo." end loop" El factorial de " , n , " es " , factorial ( n )

Implementaciones abiertas

Actualmente, existen dos implementaciones alternativas de código abierto de Turing: Open Turing, una versión de código abierto del intérprete original , y TPlus , un compilador nativo para la variante de lenguaje de programación de sistemas concurrentes Turing+ . OpenT , un proyecto para desarrollar un compilador de Turing, fue descontinuado.

Turing abierto

Open Turing es una implementación de código abierto del intérprete Turing original para Windows, escrito por Tristan Hume. Incluye mejoras de velocidad, nuevas características como OpenGL 3D y un nuevo editor de código. Es totalmente compatible con versiones anteriores de la implementación de código cerrado. [ 6 ]

TPlus

TPlus es una implementación de código abierto del Turing original (no orientado a objetos) con extensiones de programación de sistemas desarrolladas en la Universidad de Toronto y portadas a Linux , Solaris y Mac OS X en la Universidad de Queen's a finales de la década de 1990. [ 7 ] TPlus implementa Turing+ (Turing Plus), un lenguaje de programación de sistemas concurrente basado en el lenguaje de programación Turing original. Algunas, pero no todas, las características de Turing Plus fueron finalmente subsumidas en el actual lenguaje Turing orientado a objetos . Turing Plus extiende el Turing original con procesos , monitores (según lo especificado por CAR Hoare ) y construcciones de lenguaje necesarias para la programación de sistemas, como entrada/salida binaria, compilación separada, variables en direcciones absolutas, convertidores de tipo y otras características.

Turing+

Turing+ (Turing Plus) es un lenguaje de programación de sistemas concurrente basado en el lenguaje de programación Turing, diseñado por James Cordy y Ric Holt , entonces en la Universidad de Toronto , Canadá, en 1987. Algunas, pero no todas, las características de Turing+ fueron posteriormente incorporadas a Turing orientado a objetos . Turing+ extendió el Turing original con procesos y monitores (según lo especificado por CAR Hoare ), así como con construcciones de lenguaje necesarias para la programación de sistemas, tales como entrada/salida binaria, compilación separada, variables en direcciones absolutas, convertidores de tipos y otras características.

Turing+ fue diseñado explícitamente para reemplazar a Concurrent Euclid en aplicaciones de programación de sistemas. El sistema operativo TUNIS , originalmente escrito en Concurrent Euclid, fue recodificado a Turing+ en su implementación MiniTunis . Turing+ se ha utilizado para implementar varios sistemas de software de producción, incluido el lenguaje TXL .

Turing orientado a objetos

El lenguaje Turing orientado a objetos es una extensión del lenguaje de programación Turing y un reemplazo para Turing Plus, creado por Ric Holt [ 8 ] [ 9 ] de la Universidad de Toronto , Canadá, en 1991. Es imperativo , orientado a objetos y concurrente . Cuenta con módulos , clases , herencia simple , procesos , manejo de excepciones y programación opcional dependiente de la máquina .

Hay un entorno de desarrollo integrado bajo el sistema X Window y una versión de demostración. [ 10 ] Existen versiones para Sun-4 , MIPS , RS-6000 , NeXTSTEP , Windows 95 y otros.

Referencias

  1. Fluck, A.; Webb, M.; Cox, M.; Angeli, C.; Malyn-Smith, J.; Voogt, J.; Zagami, J. (2016). "Argumentos a favor de la informática en el currículo escolar". Journal of Educational Technology & Society . 19 (3): 38– 46.
  2. info@compsci.ca. "Descargar Turing y RTP (Listo para programar)" . compsci.ca . Consultado el 21 de agosto de 2018 .
  3. "Holt Software Associates" . Enero de 2008. Archivado del original el 5 de abril de 2010. Consultado el 10 de abril de 2010 .
  4. 1 2 "Holt Software Associates (antiguo)" . 25/11/2007. Archivado del original el 17/04/2010 . Recuperado el 10/04/2010 .
  5. "Descargar Turing 4.1.1" . Blog de compsci.ca. 28 de noviembre de 2007. Consultado el 10 de enero de 2009 .
  6. Hume, Tristan. "Turing abierto" . Consultado el 6 de mayo de 2012 .
  7. Cordy, James. "Turing+ 6.1" . Consultado el 11 de diciembre de 2020 .
  8. Mancoridis, Spiros; Holt, Richard C.; Penny, David A. (1993). "Un marco conceptual para el desarrollo de software" . Actas de la conferencia ACM de 1993 sobre informática - CSC '93 . págs. 74–80 . doi : 10.1145/170791.170806 . ISBN  0-89791-558-5.
  9. Holt, RC (1992). Manual de referencia de Turing (3.ª ed.). Toronto : Holt Software Associates. ISBN  978-0-921598-15-2OCLC 71476276 
  10. "9.6) Tecnología orientada a objetos ftp: 11 OOT (demostración de Turing OO)" . Stason.org / Preguntas frecuentes sobre tecnología orientada a objetos . Consultado el 22 de mayo de 2026 .

Lecturas adicionales

Obtenido de " https://en.wikipedia.org/w/index.php?title=Turing_(programming_language)&oldid=1358486769 "