stringtranslate.com

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 en Ontario, Canadá. Fue diseñado para ayudar a los estudiantes que toman su primer curso de informática a aprender a codificar. Turing es un descendiente de Pascal , Euclid y SP/k que presenta una sintaxis limpia y una semántica precisa 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 emiten archivos .exe independientes . Las versiones anteriores a la 4.1.0 tienen sintaxis y funciones obsoletas.

Descripción general

Turing , que lleva el nombre del informático británico Alan Turing , se utiliza principalmente como lenguaje de enseñanza en el nivel secundario y universitario. [1] Existen otras dos versiones, Turing orientada a objetos y Turing Plus, una variante de programación de sistemas. En septiembre de 2001, el "Turing orientado a objetos" pasó a llamarse "Turing" y el Turing original pasó a llamarse "Turing clásico". Turing ahora no cuenta con el soporte de Holt Software Associates en Toronto, Ontario . Turing se utilizó 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 gratuito, disponible para descargar desde el sitio web del desarrollador de forma gratuita para uso personal, comercial y educativo. [3] [4] [5]

Desde entonces, los creadores de Turing, Holt Software Associates, han cesado sus operaciones y Turing no ha experimentado ningún desarrollo adicional 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 "¡Hola mundo!" completo. programa en Turing con resaltado de sintaxis :

ponga  "¡Hola mundo!"

Turing evita puntos y comas y llaves , utiliza marcadores de final 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 .

 *comentario*% Acepta un número y calcula su factorial  función  factorial ( n : int ) : real  si  n = 0 entonces  resultado 1 si no  resultado  n * factorial ( n - 1 ) fin si  fin  factorial  var  n : int  loop  put  "Ingrese un número entero:" .. obtenga  n  salida cuando  n >= 0 put  "La entrada debe ser un número entero no negativo".  bucle final  poner  "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 del lenguaje de programación de sistemas concurrentes Turing Plus. 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 de Turing original para Windows escrito por Tristan Hume. Incluye mejoras de velocidad, nuevas funciones como OpenGL 3D y un nuevo editor de código. Es totalmente compatible con 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 Queen's University a finales de los años 1990. [7] TPlus implementa Turing+ (Turing Plus), un lenguaje de programación de sistemas concurrentes basado en el lenguaje de programación Turing original. Algunas, pero no todas, las características de Turing Plus finalmente se incluyeron en el actual lenguaje Turing orientado a objetos. Turing Plus amplía el Turing original con procesos , monitores (según lo especificado por CAR Hoare ) y construcciones de lenguaje necesarias para la programación del sistema, como entrada-salida binaria, compilación separada, variables en direcciones absolutas, convertidores de tipos y otras características.

Turing+

Turing+ (Turing Plus) es un lenguaje de programación de sistemas concurrentes 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 finalmente subsumido en Turing orientado a objetos. Turing+ amplió el Turing original con procesos y monitores (según lo especificado por CAR Hoare ), así como construcciones de lenguaje necesarias para la programación de sistemas, 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 , escrito originalmente en Concurrent Euclid, fue recodificado en 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

Turing orientado a objetos es una extensión del lenguaje de programación Turing y un reemplazo de Turing Plus creado por Ric Holt [8] [9] de la Universidad de Toronto , Canadá, en 1991. Es imperativo , orientado a objetos y concurrente . Tiene módulos , clases , herencia única , 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. [ cita necesaria ] 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). "Defender la informática en el currículo escolar". Revista de tecnología y sociedad educativas . 19 (3): 38–46.
  2. ^ [email protected]. "Descargar Turing y RTP (listo para programar)". compsci.ca . Consultado el 21 de agosto de 2018 .
  3. ^ "Asociados de software Holt". Enero de 2008. Archivado desde el original el 5 de abril de 2010 . Consultado el 10 de abril de 2010 .
  4. ^ ab "Holt Software Associates (antiguo)". 2007-11-25. Archivado desde el original el 17 de abril de 2010 . Consultado el 10 de abril de 2010 .
  5. ^ "Descargar Turing 4.1.1". Blog de compsci.ca. 2007-11-28 . Consultado el 10 de enero de 2009 .
  6. ^ Hume, Tristán. "Abrir Turing" . Consultado el 6 de mayo de 2012 .
  7. ^ Cordy, James. "Turing+6.1" . Consultado el 11 de diciembre de 2020 .
  8. ^ Mancoridis, S; Holt, RC ; Penny, DA (febrero de 1993). "Un marco conceptual para el desarrollo de software". Conferencia anual de informática de ACM (SIGCSE, Indianápolis) : 74–80. ISSN  1041-4517. OCLC  194807519. Marca de estantería BL 0578.623000.
  9. ^ Holt, RC (1992). Manual de referencia de Turing (3ª ed.). Toronto : Asociados de software Holt. ISBN 978-0-921598-15-2. OCLC  71476276.

Otras lecturas

enlaces externos