Турбо Паскаль - Turbo Pascal

Турбо Паскаль
Автор (ы) оригинала Андерс Хейлсберг (в Borland)
Разработчики) Borland
Первый выпуск 1983 ; 38 лет назад ( 1983 )
Операционная система CP / M , CP / M-86 , DOS , Windows 3.x , Macintosh
Платформа Z80 , x86 , 68000
Доступно в английский
Тип Интегрированная среда разработки

Turbo Pascal - это система разработки программного обеспечения, которая включает в себя компилятор и интегрированную среду разработки (IDE) для языка программирования Pascal, работающего на CP / M , CP / M-86 и DOS . Первоначально он был разработан Андерсом Хейлсбергом из Borland и отличался чрезвычайно быстрым временем компиляции. Turbo Pascal и более поздний, но аналогичный Turbo C сделали Borland лидером в разработке для ПК.

Для версий 6 и 7 (последняя) выпускались как более дешевый Turbo Pascal, так и более дорогой Borland Pascal ; Borland Pascal был больше ориентирован на профессиональную разработку программного обеспечения с большим количеством библиотек и исходным кодом стандартных библиотек. Название Borland Pascal также используется в более общем смысле для диалекта Borland языка программирования Pascal, который значительно отличается от Standard Pascal.

Borland выпустила три старые версии Turbo Pascal бесплатно из-за их исторического интереса: исходный Turbo Pascal (теперь известный как 1.0) и версии 3.02 и 5.5 для DOS.

Мотивация и релиз

Филипп Кан впервые увидел возможность для Borland, его недавно созданной компании-разработчика программного обеспечения, в области инструментов программирования. Исторически сложилось так, что подавляющее большинство программистов рассматривали свой рабочий процесс с точки зрения цикла редактирования / компиляции / компоновки с отдельными инструментами, предназначенными для каждой задачи. Программисты писали исходный код с помощью текстового редактора ; затем исходный код был скомпилирован в объектный код (часто требующий нескольких проходов), и компоновщик объединил объектный код с библиотеками времени выполнения для создания исполняемой программы.

На раннем этапе развития рынка ПК IBM (1981–1983 гг.) Все основные поставщики средств программирования создавали компиляторы, которые работали аналогичным образом. Например, система Microsoft Pascal состояла из двух этапов компиляции и последнего этапа компоновки (который мог занять несколько минут в системах только с дискетами в качестве вторичного хранилища, хотя программы были намного меньше, чем сегодня). Этот процесс был менее ресурсоемким, чем более поздняя интегрированная среда разработки (IDE). Продавцы инструментов разработки программного обеспечения нацеливали свои продукты на профессиональных разработчиков, и цена этих базовых инструментов и вспомогательных инструментов, таких как профилировщики, исчислялась сотнями долларов.

Идея Кана заключалась в том, чтобы упаковать все эти функции в интегрированный инструментарий программирования, обеспечивающий гораздо лучшую производительность и использование ресурсов, чем обычные профессиональные инструменты разработки, и взимать низкую цену за пакет, объединяющий настраиваемый текстовый редактор, компилятор и все необходимые функции. создавать исполняемые программы. Программа была продана через прямую почтовую рассылку за 49,95 долларов, без использования установленных каналов продаж (розничных продавцов или торговых посредников).

В отличие от некоторых других инструментов разработки, диски Turbo Pascal не имели защиты от копирования . Turbo Pascal поставляется с «Книжной лицензией»: «Вы должны обращаться с этим программным обеспечением как с книгой ... [оно] может использоваться любым количеством людей ... может свободно перемещаться с одного компьютера на другой, до тех пор, пока поскольку нет возможности его использования в одном месте, в то время как он используется в другом ».

Прием

Джерри Пурнел из журнала Byte написал в феврале 1984 года, что Turbo Pascal «приближается к тому, к чему, я думаю, движется компьютерная индустрия: хорошо документированный, стандартный, множество хороших функций и разумная цена». Пурнелле не понравилось требование купить еще одну лицензию на распространение двоичных файлов, но он отметил, что «оказалось, что это не намного больше. Borland только хочет еще на 100 долларов» больше, чем базовая цена в 49,95 долларов, и что «мое первое впечатление о Turbo состоит в том, что это вероятно, стоит 149,95 долл. Похоже, он делает все, что делает MT + с пакетом программирования скорости , и, возможно, даже делает это быстрее и лучше ". В июле он сообщил, что, по словам Кана, IBM отказалась перепродавать Turbo Pascal, если цена не составляла по крайней мере 200 долларов; Пурнель отметил, что «Turbo намного лучше, чем Pascal, который продает IBM», и в отличие от последнего был совместим с IBM PCjr . Три Byte рецензенты хвалили Turbo Pascal в том же номере. Один назвал версию DOS «без сомнения, лучшим программным обеспечением, которое я когда-либо покупал», а другой назвал версию CP / M «отличным продуктом ... [Borland] заслуживает похвалы за этот ценный продукт». Третий заявил, что это «плохой компилятор для разработки массивных приложений», но добавил, что он значительно превосходит BASIC , язык программирования, обычно связанный с домашними компьютерами в то время. Он пришел к выводу, что Turbo Pascal - это «сделка, от которой нельзя отказываться».

Несмотря на обнаружение того, что он описал как «серьезную ошибку» в версии 3.0 и снижение совместимости с клонами ПК , журнал в феврале 1986 года заявил, что «трудно не рекомендовать Turbo всем, кто хочет программировать на Паскале», сославшись на повышение скорости. и графические процедуры. При обзоре четырех других компиляторов Паскаля в декабре 1986 года Байт охарактеризовал Turbo Pascal как «практичный и привлекательный для программистов любого уровня подготовки». Брюс Вебстер также похвалил язык в журнале, заявив в августе 1985 года, что Turbo Pascal «наиболее известен своим маленьким размером, невероятной скоростью компиляции и быстрым временем выполнения». Он отметил, что качество и низкая цена программного обеспечения были особенно удивительны после « фиаско JRT Pascal », и заявил, что даже при новой более высокой цене в 69,95 доллара версия 3.0 «по-прежнему остается лучшим программным обеспечением на рынке».

В ноябре 1984 года журнал PC Magazine выступил с аналогичным одобрением, заявив, что «ничего подобного Turbo Pascal для PC-DOS раньше не существовало». Он высоко оценил низкую цену программного обеспечения, скорость, необычно хорошую документацию для компилятора и отметил существование множества утилит от других компаний, которые надеялись извлечь выгоду из популярности Turbo Pascal. В обзоре говорится, что среда IDE, которая упростила цикл редактирования-компиляции-запуска-отладки, сделала Turbo Pascal доступным для новых программистов, таких как BASIC.

В 1989 году Byte включил Turbo C и Turbo Pascal в число победителей премии Byte Awards "Отличие". Ссылаясь на их пользовательский интерфейс и постоянный упор на скорость, журнал заявил, что «для быстрого прототипирования нет ничего лучше». В том же номере Пурнель снова похвалил Turbo Pascal версий 4.0 и 5.0. Ссылаясь на Anacreon как на «хороший пример того, насколько сложную программу можно написать на Паскале», а также на множество библиотек, доступных от Borland и других разработчиков, он писал: «Я все больше и больше убеждаюсь, что Turbo Pascal - это язык программирования, который выбирают для людей, которых больше интересует то, что они хотят, чтобы машина делала, чем то, как это сделать. Turbo Pascal может быть не таким элегантным и портативным, как C, но он, несомненно, менее неясен. Я думаю, что это вполне может быть язык для остальные".

Borland продала около 250 000 копий Turbo Pascal за два года, что Вебстер назвал «потрясающим показателем для компьютерного языка». Шесть месяцев спустя он сообщил, что эта цифра выросла до «более 400 000 копий на рынке, на котором, по оценкам, было всего 30 000 потенциальных покупателей».

Версии

Версии CP / M и DOS

Версия 1

Передняя обложка руководства Turbo Pascal 3.0

Компилятор Turbo Pascal был основан на компиляторе Blue Label Pascal, первоначально созданном Андерсом Хейлсбергом для кассетной операционной системы NasSys микрокомпьютера Nascom в 1981 году . Borland лицензировала ядро ​​компилятора PolyPascal Хейлсберга ( Poly Data - название компании Хейлсберга в Дании) и добавила пользовательский интерфейс и редактор. Андерс Хейлсберг присоединился к компании в качестве сотрудника и был архитектором всех версий компилятора Turbo Pascal и первых трех версий Borland Delphi .

Компилятор был сначала выпущен как Compas Pascal для CP / M , а затем выпущен 20 ноября 1983 года как Turbo Pascal для CP / M (включая компьютер Apple II, оснащенный Z-80 SoftCard , эффективно преобразовывая Apple на базе 6502 в машина CP / M, Commodore 64 с картриджем CP / M и более поздняя DEC Rainbow ), машины CP / M-86 и DOS. При запуске на рынок США Turbo Pascal продавался по розничной цене 49,99 долларов США , что в то время было очень низкой ценой для компилятора. Интегрированный компилятор Паскаля был хорошего качества по сравнению с другими продуктами Паскаля того времени.

Название Turbo указывает на скорость компиляции и создаваемых исполняемых файлов. Цикл редактирования / компиляции / выполнения был быстрым по сравнению с другими реализациями Паскаля, потому что все, что связано с построением программы, хранилось в ОЗУ, и потому что это был однопроходный компилятор, написанный на языке ассемблера . Компиляция была намного быстрее, чем компиляторы для других языков (даже собственные более поздние компиляторы Borland для C) и другие компиляторы Pascal, и время программиста также было сэкономлено, поскольку программу можно было скомпилировать и запустить из IDE. Скорость выполнения этих программ в формате COM стала откровением для разработчиков, чей предыдущий опыт программирования микрокомпьютеров был связан с интерпретируемым BASIC или UCSD Pascal , который компилировался в p-код, который затем интерпретировался во время выполнения.

Версия 1 была базовой системой «все в одном», работающей в памяти и производящей исполняемые файлы .COM для DOS и CP / M, а также эквивалентные исполняемые файлы .CMD для CP / M-86 (полностью отличавшиеся от командных файлов .CMD, которые позже использовались в 32-битная Microsoft Windows). Размер файлов исходного кода был ограничен 64 КБ для упрощения IDE, а файлы .COM DOS были ограничены 64 КБ для каждого кода, стека и глобальных (статических) переменных. Исходный код программы может быть расширен с помощью функции включения, если исходный код превышает предел памяти редактора.

Существовали разные версии Turbo Pascal для компьютеров под управлением DOS, CP / M или CP / M-86 с 64 КБ памяти и как минимум одним дисководом для гибких дисков. Версия CP / M могла работать на многих машинах CP / M того времени с процессорами Z80 или Apple II с картой Z80. Версии DOS и CP / M-86 работали на многих машинах 8086 и 8088, которые стали доступны, включая IBM PC. Установщик, список и компилятор с его IDE, а также исходный код простой программы для работы с электронными таблицами под названием MicroCalc, написанная Филиппом Каном в качестве демонстрации, поместятся на одном гибком диске. Копия диска без MicroCalc могла бы вместить исходный код и скомпилированный исполняемый файл программы разумного размера - поскольку в то время для пользователей было обычным делом использовать только один дисковод для гибких дисков в качестве запоминающего устройства , было очень удобно иметь возможность разместить и компилятор, и программа записываются на один диск, что позволяет избежать бесконечной замены дисков.

Билл Гейтс очень лично видел успех Turbo Pascal и «не мог понять, почему [Microsoft] вещи такие медленные. Он приводил Грега Уиттена [директора по программированию языков Microsoft] и кричал на него в течение получаса». . Он не мог понять, почему Кан смог победить такого устоявшегося конкурента, как Microsoft ».

Архитектура различных машин , работающих под управлением MS-DOS дополнительно ограничивает максимальный объем память пользователя в возрасте до 1 МБ (например, машины аппаратно-совместимого с IBM PC были ограничены 640 КБ).

IDE Turbo Pascal была очень продвинутой для своего времени. Он мог хорошо работать и очень быстро компилироваться с объемом оперативной памяти на типичном домашнем компьютере. IDE была простой и интуитивно понятной в использовании и имела хорошо организованную систему меню. Ранние версии редактора использовали ключевые функции WordStar , которые в то время были стандартом де-факто . Более поздние версии IDE, разработанные для ПК с большим дисковым пространством и памятью, могли отображать определения ключевых слов языка, помещая курсор на ключевое слово и нажимая клавишу F1 (обычно используется для отображения справки). Многие определения включали пример кода.

В дополнение к стандартным исполняемым программам компилятор мог генерировать программы Terminate и Stay Resident (TSR), небольшие утилиты, которые оставались в памяти и позволяли компьютеру выполнять другие задачи - запуск нескольких программ одновременно, многозадачность , в противном случае была бы недоступна. Сам Borland создал небольшой набор приложений под названием Sidekick, который представлял собой TSR, позволяющий пользователю вести дневник, заметки и т. Д.

Версия 2

Версия 2, выпущенная несколькими месяцами позже, 17 апреля 1984 г., была постепенным улучшением оригинального Turbo Pascal до такой степени, что справочное руководство сначала было идентично версии 1, вплоть до 1983 г. в качестве даты авторского права на некоторые из пример вывода компилятора, но имел отдельное руководство «Дополнение к справочному руководству: версия 2.0 и дополнение 8087» с отдельной нумерацией страниц.

В число дополнений входила система наложения , в которой отдельные процедуры наложения автоматически переключались с диска в зарезервированное место в памяти. Эта память была частью ОЗУ 64 КБ, используемой кодом программы, и автоматически была размером самой большой процедуры наложения. Процедуры наложения могут включать в себя сами наложенные разделы, но, если не используется RAM-диск, результирующая подкачка диска может быть медленной.

2.0 также добавила процедуру Dispose для управления кучей , позволяющую освобождать отдельные динамические переменные, в качестве альтернативы более примитивной системе «Mark / Release». и повышенная совместимость с командами WordStar плюс использование цифровой клавиатуры на IBM PC и совместимых устройствах. Такие ПК также имели новое текстовое окно и команды графического режима CGA , а также возможность использовать динамик ПК для передачи сигналов.

Наконец, машины DOS и CP / M-86 с математическим сопроцессором 8087 (или более поздней версии) имели альтернативный компилятор TURBO-87, доступный для покупки. Он поддерживает длинные реальные типы данных 8087 с диапазоном точности от 1,67E-307 до 1,67E + от 308 до 14 знаков, но с гораздо большей скоростью обработки. В руководстве отмечается, что, хотя исходный код для реальных типов данных программного обеспечения Turbo Pascal предлагает диапазон от 1E-63 до 1E + от 63 до 11 значащих цифр, они несовместимы на двоичном уровне: кроме того, что у программного обеспечения есть гораздо больший диапазон, Реалы занимали шесть байт в памяти, а 8087 - восемь.

Как и версия 1, версия 2 для CP / M-80 работала только на машинах CP / M на базе Z80 .

Версия 3

Версия 3 была выпущена 17 сентября 1986 года.

Turbo Pascal 3 поддерживает графику черепахи .

В дополнение к программным действительным числам по умолчанию и версии компилятора 8087, Borland также предложила версию BCD (TURBOBCD), которая предлагала тот же числовой диапазон, что и реальные типы данных, но до 18 значащих цифр.

Версии DOS

Версия 4

Версия 4, выпущенная 20 ноября 1987 года, была полностью переписана, с сильно измененным внешним видом и внутренними операциями. Компилятор генерировал исполняемые файлы в формате .EXE под DOS, а не более простые, но более ограниченные исполняемые файлы .COM. Устаревшие к тому времени версии операционных систем CP / M и CP / M-86 были удалены после переписывания Turbo Pascal. Версия 4 представила модули и полноэкранный текстовый пользовательский интерфейс с раскрывающимися меню; в более ранних версиях было текстовое меню и отдельный полноэкранный редактор. ( Когда была выпущена первая версия, Microsoft Windows все еще была экспериментальной, и даже мыши были редкостью.)

Дополнительный пакет, Turbo Pascal Graphix Toolbox, был доступен для Turbo Pascal V4.

Версия 5.0

Цветные дисплеи заменяли монохромные; Версия 5.0 Turbo Pascal, выпущенная 24 августа 1988 г., ввела синий цвет в качестве цвета фона редактора по умолчанию, который использовался компиляторами Borland DOS до конца этой линейки продуктов в середине 1990-х.

Более поздние версии были представлены в двух пакетах с одинаковым номером версии: менее дорогой пакет «Turbo» и пакет «Borland» с расширенными возможностями и дополнительными надстройками.

Версия 5.5

Эта версия, выпущенная 2 мая 1989 года, представила возможности объектно-ориентированного программирования для языка Pascal, включая концепцию классов, статических и динамических объектов, конструкторов и деструкторов и наследования, которые станут основой для Object Pascal, найденного в Borland Delphi. В среде IDE используется синяя цветовая схема по умолчанию, которая также будет использоваться в более поздних продуктах Borland Turbo. Другие изменения в IDE включают:

  • Добавление в IDE пошагового отладчика.
  • Контекстно-зависимая справка с описанием всех встроенных функций, а также возможность копирования фрагментов кода из окна справки в окно редактирования.

Версия 6.0

Версия 6 была выпущена 23 октября 1990 года.

Изменения по сравнению с 5.5 включают:

  • Добавлена ​​функция встроенного ассемблера для языка Pascal.
  • Добавление библиотеки Turbo Vision .
  • Изменения в IDE включают поддержку мыши, буфер обмена для текстовых манипуляций, многодокументный интерфейс, поддерживающий до девяти окон редактирования.
  • Отладчик поддерживает использование точек останова и часов.

Версия 7.0

Версия 7 была выпущена 27 октября 1992 года.

Изменения по сравнению с 6.0 включают:

  • Компилятор поддерживает создание исполняемых файлов DOS и Windows, Windows DLL.
  • Изменения в IDE включают добавление подсветки синтаксиса.

Turbo Pascal для Windows

Были выпущены две версии под названием «Turbo Pascal для Windows» (TPW) для Windows 3.x : TPW 1.0, основанный на Turbo Pascal 6, но выпущенный примерно через 2 года, и 1.5, выпущенный после Turbo Pascal 7; им на смену пришел Borland Pascal 7 с поддержкой Windows. Компилятор Windows в Pascal 7 назывался Borland Pascal для Windows .

Обе версии построили Windows-совместимые программы и имели IDE на базе Windows, в отличие от IDE на базе DOS в Turbo Pascal. Команды IDE и редактора соответствовали рекомендациям по пользовательскому интерфейсу Microsoft Windows, а не классическому пользовательскому интерфейсу TP. Для поддержки программ Windows требовалась библиотека ObjectWindows , аналогичная, но не идентичная библиотеке для первого выпуска Borland C ++ и радикально отличающейся от более ранней среды DOS Turbo Vision . Turbo Pascal был заменен платформой Windows на Delphi ; компилятор Delphi может создавать консольные программы и приложения с графическим пользовательским интерфейсом (GUI), так что использование Turbo и Borland Pascal стало ненужным.

Turbo Pascal для Macintosh

Borland выпустила Turbo Pascal для Macintosh в 1986 году. Как и версии с 1 по 3 для других операционных систем, он был написан на компактном языке ассемблера и имел очень мощную IDE, но не имел хорошего отладчика. Borland не очень хорошо поддерживал этот продукт, хотя они выпустили версию 1.1, исправленную для работы на 32-битном Macintosh II . Вскоре после этого была прекращена поддержка Macintosh.

Бесплатные релизы

Borland выпустила несколько версий Turbo Pascal как бесплатное ПО после того, как они превратились в «антикварное программное обеспечение» ( отказ от программного обеспечения ): 1.0 для DOS 1 февраля 2000 г., 3.02 10 февраля 2000 г., 5.5 21 февраля 2002 г., французская версия Turbo Pascal 7.01 в 2000 г. Большинство загрузок по-прежнему доступны на сайте-преемнике Embarcadero Technologies .

Преемники

К 1995 году Borland отказалась от Turbo / Borland Pascal и заменила его средой быстрой разработки приложений (RAD) Borland Delphi , основанной на Object Pascal. 32- и 64- битные версии Delphi по-прежнему поддерживают более переносимые усовершенствования Pascal предыдущих продуктов (то есть те, которые не относятся к 16-битному коду), включая более раннюю статическую объектную модель. Обратная совместимость этого языка означает, что большая часть старого кода Turbo Pascal все еще может быть скомпилирована и запущена в современной среде.

Другие поставщики выпустили инструменты разработки программного обеспечения, совместимые с Turbo Pascal. Наиболее известны Free Pascal и Virtual Pascal .

В образовании

Borland Pascal все еще преподается в некоторых странах в средней школе, шестом классе и университетах. Его преподают в колледжах и университетах Коста-Рики, Турции, Ирака, Германии, Российской Федерации, США и в средних школах Аргентины, Бельгии, Болгарии, Канады, Коста-Рики, Хорватии, Франции, Венгрии, Италии, Ямайки, Ливии, Молдовы. , Румыния, Сербия, Тунис, Украина, Чехия и Вьетнам. До 2002 года это был одобренный государством язык программирования для всех средних школ Южной Африки. Сегодня его продолжают преподавать в некоторых университетах по всему миру в качестве введения в компьютерное программирование, обычно переходя на C или Java, или на то и другое.

Некоторые преподаватели предпочитают использовать Borland Pascal 7 или Turbo Pascal 5.5 из-за его простоты по сравнению с более современными IDE, такими как Microsoft Visual Studio или Borland JBuilder , поэтому он знакомит студентов, не знакомых с вычислениями, с общими задачами, такими как использование клавиатуры и сочетаний клавиш ( TP 5.5 не поддерживает мышь), знакомит их с командами DOS (которые во многом аналогичны командам командной строки Microsoft Windows) и позволяет им писать программы, не тратя много усилий на то, чтобы заставить среду работать. TP 5.5 доступен для бесплатной загрузки с Borland.

Функции

язык ассемблера

Хотя все версии Turbo Pascal могли включать встроенный машинный код , начиная с версии 6 появилась возможность интегрировать язык ассемблера в исходный код Pascal.

Поддержка различных моделей памяти 8086 обеспечивалась встроенной сборкой, параметрами компилятора и расширениями языка, такими как ключевое слово absolute. Turbo Assembler , TASM, стандартный x86 ассемблере независимо от ТП, и источник совместим с широко используемым Microsoft Macro Assembler MASM, подавалась с улучшенными версиями «Borland Pascal».

Отладка и профилирование

IDE предоставляет несколько средств отладки, включая пошаговое выполнение , проверку и изменение переменных, а также условные точки останова. В более поздних версиях блоки языка ассемблера могут быть пошагово пропущены. Пользователь мог добавлять точки останова для переменных и регистров в окне IDE. Программы, использующие графический режим IBM PC, могут переключаться между графическим и текстовым режимами автоматически или вручную или отображать оба режима на двух экранах. Для случаев, когда относительно простых средств отладки IDE было недостаточно, Turbopower Software разработала более мощный отладчик T-Debug. Эта же компания выпустила Turbo Analyst и Overlay Manager для Turbo Pascal. Позднее T-Debug был обновлен для Turbo Pascal 4, но был прекращен с выпуском Borland Turbo Debugger (TD), который также допускал некоторое аппаратное вмешательство на компьютерах, оснащенных новым процессором 80386 .

TD обычно поставлялся вместе с Turbo Assembler и Turbo Profiler, профилировщиком кода, который сообщал о времени, затраченном на каждую часть программы, для помощи в оптимизации программы путем поиска узких мест. В книгах, прилагаемых к Borland Pascal, было подробное описание языка ассемблера Intel , включая количество тактов, необходимых для каждой инструкции. Разработка и отладка могли выполняться полностью в среде IDE, если не требовались расширенные средства отладки Turbopower T-Debug, а затем TD.

Более поздние версии также поддерживали удаленную отладку через кабель связи RS-232 .

Единицы

С годами Borland улучшила не только IDE, но и расширила язык программирования. Система разработки, основанная на стандарте ISO Pascal, требует расширений для конкретной реализации для разработки реальных приложений на платформах, на которые они нацелены. Стандартный Паскаль разработан так, чтобы быть независимым от платформы, поэтому не предписывает низкоуровневый доступ к средствам, зависящим от оборудования или операционной системы. Стандартный Паскаль также не предписывает, как большая программа должна быть разбита на отдельные единицы компиляции. Начиная с версии 4, Turbo Pascal заимствовал концепцию единиц из UCSD Pascal . Единицы использовались как библиотеки внешних функций, как объектные файлы, используемые в других языках, таких как FORTRAN или C.

Например, строка uses crt;в программе включала модуль crt; usesявляется механизмом для использования других единиц компиляции. interfaceи implementationбыли ли ключевые слова, используемые для указания внутри подразделения, что было (а что не было) видимым за пределами подразделения. Это похоже на publicи privateключевые слова на других языках , таких как C ++ и Java .

Модули в Borland Pascal были похожи на отдельную систему компиляции Modula-2 . В 1987 году, когда был выпущен Turbo Pascal 4, Modula-2 начал набирать обороты как образовательный язык, который мог заменить Паскаль. У Borland, по сути, был компилятор Turbo Modula-2, но он выпустил его только на CP / M (его пользовательский интерфейс был почти идентичен интерфейсу Turbo Pascal 1–3) с небольшим маркетингом. Была разработана значительно улучшенная версия DOS, но, поскольку Borland не желала публиковать результаты, авторы, включая Нильса Дженсена, выкупили права и сформировали Jensen & Partners International, чтобы опубликовать ее как JPI TopSpeed ​​Modula-2. Вместо этого Borland решила реализовать отдельную компиляцию в своем устоявшемся продукте Pascal.

Отдельная компиляция не была частью стандартного языка Pascal, но уже была доступна в UCSD Pascal , который был очень популярен на 8-битных машинах. Синтаксис Turbo Pascal для модулей, похоже, был заимствован из UCSD Pascal. Более ранние версии Turbo Pascal, разработанные для компьютеров с ограниченными ресурсами, поддерживали систему динамического связывания «цепочку и выполнение» для отдельно скомпилированных объектов, аналогичную системе, широко используемой в BASIC. Кроме того, в языке было указание включать отдельный исходный код в программу, когда это необходимо, и наложение поддерживалось из TP3, но, как и в случае с наложениями, связанные объекты должны были вписываться в исходное (ограниченное) пространство памяти программы. По мере развития вычислительной техники и средств хранения в Turbo Pascal была добавлена ​​возможность создания больших EXE-файлов с возможностью статического связывания и коллективной загрузки отдельно скомпилированных объектов.

Файлы .TPU, выводимые путем компиляции модуля Turbo Pascal, тесно связаны с внутренними структурами компилятора, а не со стандартными связываемыми файлами .OBJ. Это улучшило время компиляции и компоновки, но означало, что файлы .TPU нельзя было связать с выводом на других языках или даже использовать с другими выпусками Turbo Pascal, если они не были перекомпилированы из исходного кода.

Объектно-ориентированное программирование

Начиная с версии 5.5 были введены некоторые функции объектно-ориентированного программирования : классы, наследование, конструкторы и деструкторы. IDE уже была дополнена интерфейсом обозревателя объектов, показывающим отношения между объектами и методами и позволяющим программистам легко перемещаться по модулям. Borland назвал свой язык Object Pascal , который был значительно расширен и стал языком, лежащим в основе Delphi (который имеет две отдельные системы ООП). Название «Object Pascal» произошло от расширений Pascal, разработанных Apple Inc. для программирования компьютеров Lisa и Macintosh . Создатель Паскаля Никлаус Вирт консультировал при разработке этих расширений, основанных на типе записи, уже присутствующем в Паскале.

Проблема с блоком CRT на быстрых процессорах

Несколько версий Turbo Pascal, включая последнюю версию 7, включают модуль CRT, используемый многими приложениями в полноэкранном текстовом режиме. Этот модуль содержит код в разделе инициализации для определения скорости процессора и калибровки циклов задержки. Этот код не работает на процессорах с частотой более 200  МГц и немедленно прерывается с сообщением «Ошибка выполнения 200». (код ошибки 200 никак не связан с частотой процессора 200 МГц). Это вызвано тем, что цикл выполняется для подсчета количества повторений за фиксированное время, измеряемое часами реального времени . Когда был разработан Turbo Pascal, он работал на машинах с процессорами, работающими на частоте от 1 до 8 МГц, и мало думали о возможности значительно более высоких скоростей, поэтому примерно с 200 МГц может быть выполнено достаточно итераций, чтобы переполнить 16-битный счетчик. Патч был произведен , когда машины стали слишком быстро для оригинального метода, но не в скорости процессора увеличилась еще дальше, и был заменен другим.

Программы, подверженные этой ошибке, могут быть перекомпилированы из исходного кода с исправлением компилятора для устранения ошибки (с использованием самого TURBO.TPL, скомпилированного с исправленным модулем CRT), или, если исходный код недоступен, исполняемые файлы могут быть исправлены с помощью инструмента с именем TPPATCH или эквивалент, или загрузив программу Terminate and Stay Resident, загруженную перед запуском неисправной программы.

Существуют также исправления для самого компилятора TP7, поэтому, если доступен исходный код Pascal, новый код компиляции будет работать без необходимости исправления скомпилированного кода. Если исходный код доступен, перенос на библиотеки без зависимости от тактовой частоты процессора также является решением.

Плавающая запятая

Было несколько типов с плавающей запятой , включая single(4-байтовое представление [IEEE 754]) double(8-байтовое представление IEEE 754), extended(10-байтовое представление IEEE 754, используемое в основном внутри числовых сопроцессоров ) и Real(6-байтовое представление представление).

В первые дни Realбыл самым популярным. На большинстве ПК того времени не было сопроцессора с плавающей запятой, поэтому все FP должны были выполняться программно. Собственные алгоритмы FP от Borland Realбыли быстрее, чем с использованием других типов, хотя его библиотека также эмулировала другие типы в программном обеспечении.

Синтаксис

  • Паскаль не чувствителен к регистру .
  • Исторически комментарии Паскаля заключаются в закрытые { within pairs of braces }или (* left parenthesis/asterisk and asterisk/right parenthesis pairs *), и они могут занимать любое количество строк. Более поздние версии Borland Pascal также поддерживали комментарии в стиле C ++ // preceded by two forward slashes , которые заканчиваются в конце строки.
  • Синтаксис оператора caseболее гибкий, чем у стандартного Паскаля.
  • Наборы могут состоять не более чем из 256 (2 8 ) членов.
  • Стандартный Паскаль, Stringкоторому предшествует байт длины, поддерживается и занимает фиксированный объем памяти; более поздние версии добавили более гибкий тип с завершающим нулем, назвав старый тип «короткой строкой». В более старом исходном коде, который обрабатывает строки нестандартными способами (например, напрямую манипулируя байтом длины, например, S[0]:=14для усечения строки), строки должны быть либо объявлены как короткие, либо быть переписаны.

Это классическая программа Hello world на Turbo Pascal:

program HelloWorld;
begin
  WriteLn('Hello World')
end.

Он запрашивает имя и сотни раз записывает его на экран:

program WriteName;
var
  i    : Integer;        {variable to be used for looping}
  Name : String;         {declares the variable Name as a string}
begin
  Write('Please tell me your name: ');
  ReadLn(Name);          {ReadLn returns the string entered by the user}
  for i := 1 to 100 do
  begin
    WriteLn('Hello ', Name)
  end;
 readln;
end.

Смотрите также

использованная литература

внешние ссылки