Введение

Высокоуровневый язык программирования

Тьюринг – это высокоуровневый язык программирования общего назначения, разработанный в 1982 году Риком Холтом и Джеймсом Корди в Университете Торонто, Онтарио, Канада. Он был создан, чтобы помочь студентам, начинающим изучение информатики, освоить программирование. Тьюринг является потомком языков Паскаль, Евклид и SP/k, отличаясь чистым синтаксисом и чёткой семантикой, не зависящей от конкретной аппаратной платформы. Тьюринг 4.1.0 – последняя стабильная версия. Версии 4.1.1 и 4.1.2 не генерируют автономные исполняемые файлы (exe). Версии, предшествующие 4.1.0, используют устаревший синтаксис и функции.

Обзор

Названный в честь британского ученого-компьютерщика Алана Тьюринга, Тьюринг используется главным образом как язык обучения в старшей школе и университете. Существуют две другие версии: объектно-ориентированный Тьюринг и Тьюринг Плюс – вариант для системного программирования. В сентябре 2001 года "Объектно-ориентированный Тьюринг" был переименован в "Тьюринг", а оригинальный Тьюринг – в "Классический Тьюринг". Компания Holt Software Associates из Торонто, Онтарио, больше не поддерживает Тьюринг. Тьюринг широко использовался в старших школах Онтарио в качестве первого знакомства с программированием. 28 ноября 2007 года Тьюринг, который ранее был коммерческим языком программирования, стал бесплатным программным обеспечением, доступным для загрузки с сайта разработчика бесплатно для личного, коммерческого и образовательного использования. Компания Holt Software Associates, разработчик Тьюринга, прекратила свою деятельность, и с 25 ноября 2007 года разработка Тьюринга больше не ведется.

TPlus

TPlus — это реализация с открытым исходным кодом оригинального (не объектно-ориентированного) Тьюринга с расширениями для системного программирования, разработанная в Университете Торонто и портированная на Linux, Solaris и Mac OS X в Университете Квинс в конце 1990-х годов. TPlus реализует Turing+ (Turing Plus) — язык программирования для разработки параллельных систем, основанный на оригинальном языке программирования Тьюринг. Некоторые, но не все, возможности Turing Plus впоследствии были включены в современный объектно-ориентированный язык Тьюринг. Turing Plus расширяет оригинальный Тьюринг процессами, мониторами (в соответствии со спецификацией C. A. R. Hoare) и языковыми конструкциями, необходимыми для системного программирования, такими как двоичный ввод-вывод, раздельная компиляция, переменные по абсолютным адресам, преобразователи типов и другие функции.

Тьюринг+

Turing+ (Turing Plus) — это язык программирования для параллельных систем, основанный на языке программирования Тьюринга, разработанном Джеймсом Корди и Риком Холтом в Университете Торонто (Канада) в 1987 году. Некоторые, но не все, возможности Turing+ впоследствии были включены в объектно-ориентированный Тьюринг. Turing+ расширил исходный Тьюринг процессами и мониторами (в соответствии со спецификацией C. A. R. Hoare), а также языковыми конструкциями, необходимыми для системного программирования, такими как двоичный ввод-вывод, раздельная компиляция, переменные по абсолютным адресам, преобразователи типов и другие функции. Turing+ был специально разработан для замены Concurrent Euclid в задачах системного программирования. Операционная система TUNIS, изначально написанная на Concurrent Euclid, была переписана на Turing+ в реализации MiniTunis. Turing+ использовался для реализации нескольких коммерческих программных систем, включая язык TXL.

Объектно-ориентированный Тьюринг

Объектно-ориентированный Тьюринг — это расширение языка программирования Тьюринг и замена системы Тьюринг Плюс, разработанная Риком Холтом из Университета Торонто (Канада) в 1991 году. Язык является императивным, объектно-ориентированным и поддерживает параллельное выполнение. В нём предусмотрены модули, классы, одинарное наследование, процессы, обработка исключений и возможность машинозависимого программирования. Существует интегрированная среда разработки под X Window System и демонстрационная версия. Доступны версии для Sun 4, MIPS, RS 6000, NeXTSTEP, Windows 95 и других платформ.