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

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

Турбо Паскаль это система разработки программного обеспечения, которая включает компилятор и интегрированная среда развития (IDE) для Язык программирования Паскаль работает на CP / M, CP / M-86, и ДОС. Первоначально он был разработан Андерс Хейлсберг в Borland, и отличался чрезвычайно быстрым временем компиляции. Turbo Pascal и более поздние, но похожие Турбо С, сделала 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.[2][3][4]

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

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

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

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

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

Прием

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

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

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

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

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

Версии

Версии CP / M и DOS

Версия 1

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

Компилятор Turbo Pascal был основан на компиляторе Blue Label Pascal, первоначально созданном для кассетной операционной системы NasSys. Nascom микрокомпьютер в 1981 г. Андерс Хейлсберг. Borland лицензировала Hejlsberg's "PolyPascal "ядро компилятора (Поли Данные было названием компании Хейлсберга в Дании), и добавил пользовательский интерфейс и редактор. Андерс Хейлсберг присоединился к компании в качестве сотрудника и был архитектором всех версий компилятора Turbo Pascal и первых трех версий Borland. Delphi.[2]

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

В Турбо название указывает на скорость компиляции и производимых исполняемых файлов. Цикл редактирования / компиляции / выполнения был быстрым по сравнению с другими реализациями Паскаля, потому что все, что связано с построением программы, хранилось в ОЗУ, и потому что это был однопроходный компилятор написано в язык ассемблера. Компиляция была намного быстрее, чем компиляторы для других языков (даже более поздние компиляторы Borland для C),[нужна цитата ] и других компиляторов Паскаля, и время программиста также было сэкономлено, так как программу можно было скомпилировать и запустить из IDE. Скорость выполнения этих COM -форматирование программ стало открытием для разработчиков, чей единственный предыдущий опыт программирования микрокомпьютеров был связан с интерпретированный BASIC или UCSD Паскаль, который скомпилирован в 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 ».[19]

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

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

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

Версия 2

Версия 2, выпущенная несколькими месяцами позже, 17 апреля 1984 года, была постепенным улучшением оригинального Turbo Pascal. Программы .COM могут быть наложенный эффективно использовать виртуальную память, если они иначе не поместились бы в памяти[20].

Версия 2 для CP / M-80 работала только на CP / M на базе Z80 машины.[21]

Версия 3

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

Borland также предлагал TURBO-87, который требовал 8087 математический сопроцессор (или более поздний совместимый).[22] Это было доступно от Borland как специальная версия Turbo Pascal. Он поддержал настоящий типы данных с диапазоном от 1.67E-307 до 1.67E + от 308 до 14 значимых цифр, но с гораздо большей скоростью обработки. В руководстве отмечается, что хотя исходный код оригинального Turbo Pascal был совместим с пакетами BCD и 87, реальные типы данных не подлежали обмену между модулями, скомпилированными на версии 87, и модулями, скомпилированными на двух других (это было потому, что экспонента была трехзначной. а не два). Стандартный Turbo Pascal предлагает настоящий типы данных, предлагающие диапазон от 1E-63 до 1E + 63 до 11 значащих цифр.

Turbo Pascal 3 поддерживается черепаха графика.[23]

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

Версии DOS

Версия 4

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

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

Версия 5.0

Цветные дисплеи заменяли монохромные; В версии TP 5.0 появился синий экран Borland, который использовался компиляторами Borland DOS до конца этой линейки продуктов в середине 1990-х годов.

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

Версия 5.5

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

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

Версия 6.0

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

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

Версия 7.0

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

  • Компилятор поддерживает создание исполняемых файлов 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 г.[28] Как и версии с 1 по 3 для других операционных систем, он был написан на компактном ассемблере и имел очень мощную IDE, но не имел хорошего отладчика. Borland не очень хорошо поддерживал этот продукт, хотя они выпустили версию 1.1, исправленную для работы на 32-битной системе. Macintosh II. Вскоре после этого поддержка Macintosh была прекращена.[нужна цитата ]

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

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

Преемники

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

Другие поставщики выпустили инструменты разработки программного обеспечения, совместимые с Turbo Pascal. Самыми известными являются Free Pascal и Виртуальный Паскаль.

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

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

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

Функции

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

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

Поддержка различных 8086 моделей памяти предоставлялась встроенной сборкой, параметрами компилятора и языковыми расширениями, такими как ключевое слово absolute. В Турбо Ассемблер, TASM, стандартный ассемблер x86, не зависящий от TP и совместимый с исходным кодом широко используемых Ассемблер макросов Microsoft MASM поставлялся с расширенными версиями "Borland Pascal".

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

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

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

Также поддерживаются более поздние версии удаленная отладка через RS232 кабель связи.[34]

Единицы

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

Например, строка использует crt; в программу включен модуль под названием crt; то использует это механизм использования других единиц компиляции. интерфейс и выполнение были ключевыми словами, которые использовались для указания внутри подразделения, что было (а что не было) видимым за пределами подразделения. Это похоже на общественный и частный ключевые слова на других языках, например C ++ и Ява.

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

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

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

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

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

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

Программы, подверженные этой ошибке, могут быть перекомпилированы из исходного кода с исправлением компилятора для устранения ошибки (с использованием самого TURBO.TPL, скомпилированного с исправленным модулем CRT), или, если исходный код недоступен, исполняемые файлы могут быть исправлены с помощью инструмента с именем TPPATCH или аналогичный,[38][39] или загрузив Прекратить и остаться резидентом программа загружается перед запуском ошибочной программы.[40]

Также есть патчи к самому компилятору TP7,[41] таким образом, если доступен исходный код Pascal, новый код компиляции будет работать без необходимости исправления скомпилированного кода. Если исходный код доступен, перенос на библиотеки без зависимости от тактовой частоты процессора также является решением.[42]

Плавающая точка

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

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

Синтаксис

  • Паскаль не чувствительный к регистру.
  • Исторически комментарии Паскаля прилагаются {внутри фигурных скобок}, или же (* пары левая скобка / звездочка и звездочка / правая скобка *), и они могут охватывать любое количество строк. Более поздние версии Borland Pascal также поддерживали комментарии в стиле C ++. // перед ними две косые черты , которые заканчиваются в конце строки.
  • Синтаксис оператора дело более гибкий, чем стандартный Паскаль.
  • В наборах может быть не более 256 (28) члены.
  • Стандартный Паскаль Нить перед байтом длины поддерживается и занимает фиксированный объем памяти; более поздние версии добавляли более гибкий тип с завершающим нулем, называя старый тип «короткой строкой». Старый исходный код, который обрабатывает строки нестандартными способами (например, напрямую манипулируя байтом длины, например S [0]: = 14 для усечения строки) строки должны быть либо объявлены как короткие, либо перезаписаны.

Это классика Привет, мир программа в Turbo Pascal:

программа Привет, мир;начинать  WriteLn('Привет, мир')конец.

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

программа WriteName;вар  я    : Целое число;        {переменная, которая будет использоваться для цикла}  Имя : Нить;         {объявляет имя переменной как строку}начинать  Написать(«Скажите, пожалуйста, ваше имя?»);  ReadLn(Имя);          {ReadLn возвращает строку, введенную пользователем}  за я := 1 к 100 делать  начинать    WriteLn('Привет ', Имя)  конец; читать;конец.

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

Рекомендации

  1. ^ Гаджич, Зарко. «История Delphi - от Паскаля до Embarcadero Delphi XE 2». About.com. Архивировано из оригинал на 2011-07-07. Получено 2011-02-24.
  2. ^ а б c Интерсимон, Дэвид (2000-02-01). «Античное программное обеспечение: Turbo Pascal v1.0». Embarcadero Technologies. В архиве из оригинала 21.12.2010. Получено 2010-11-09.
  3. ^ а б Интерсимон, Дэвид (2000-02-10). «Античное программное обеспечение: Turbo Pascal v3.02». Embarcadero Technologies. В архиве из оригинала 24.11.2010. Получено 2010-11-09.
  4. ^ а б c Интерсимон, Дэвид (21.02.2002). «Античное программное обеспечение: Turbo Pascal v5.5». Embarcadero Technologies. В архиве из оригинала 24.11.2010. Получено 2010-11-09.
  5. ^ https://archive.org/details/micro-cornucopia-magazine-1984-12/page/n63
  6. ^ Группы Google
  7. ^ Пурнель, Джерри (Февраль 1984 г.). "Chaos Manor получает свой долгожданный IBM PC". Байт. п. 113. Получено 2015-02-08.
  8. ^ Пурнель, Джерри (Июль 1984 г.). "Ярмарка Западного побережья". Байт. п. 136. Архивировано с оригинал на 2012-01-28. Получено 2011-11-08.
  9. ^ Уодлоу, Том; Пирс, Ал; Бриджер, Марк (июль 1984). "Турбо Паскаль". Байт (рассмотрение). стр. 263–278. Получено 2013-10-23.
  10. ^ Бриджер, Марк (февраль 1986). "Турбо Паскаль 3.0". Байт. п. 281. Получено 2015-05-09.
  11. ^ Шаммас, Намир Клемент (декабрь 1986 г.). «Паскаль для IBM PC». Байт. п. 265. Получено 2015-05-09.
  12. ^ а б Вебстер, Брюс Ф. (Август 1985 г.). «Приветствия и волнения». Байт. п. 355. Получено 2013-10-27.
  13. ^ Дантеманн, Джефф (1984-11-13). "Турбо-Паскаль с наддувом". Журнал ПК. п. 276. Получено 2013-10-25.
  14. ^ "The Byte Awards". Байт. Январь 1989 г. с. 327.
  15. ^ Пурнель, Джерри (Январь 1989 г.). "К звездам". Байт. п. 109.
  16. ^ Вебстер, Брюс (февраль 1986 г.). «Инструмент программирования и Atari ST». Байт. п. 331. Получено 2015-05-09.
  17. ^ https://community.embarcadero.com/blogs/entry/turbo-pascal-version-10--the-turbo-pascal-release-dates-39142
  18. ^ Чепмен, Меррил Р. (2006). В поисках глупости: более 20 лет неудач в сфере высокотехнологичного маркетинга. Springer-Verlag. п. 118. ISBN  978-1-59059-721-7. В архиве из оригинала от 23.06.2016. Получено 2015-12-13. Borland дебютировал в отрасли с выпуском Turbo Pascal в ноябре 1983 года. Turbo Pascal был портом для DOS и CP / M COMPAS Pascal Андерса Хейлсберга, и он был выпущен Borland по цене, которая казалась потрясающей. в то время: 49,95 доллара, что составляет примерно одну десятую цены сопоставимых продуктов.
  19. ^ Уоллес, Джеймс; Эриксон, Джим (1992). "Усиливающаяся боль". Жесткий диск: Билл Гейтс и становление империи Microsoft. Джон Уайли и сыновья. п.277. ISBN  0-471-56886-4.
  20. ^ http://bitsavers.org/pdf/borland/turbo_pascal/Turbo_Pascal_Version_2.0_Reference_1984.pdf
  21. ^ https://archive.org/download/Computer_Language_Issue_01_1984-09_CL_Publications_US/Computer_Language_Issue_01_1984-09_CL_Publications_US.pdf#page=78
  22. ^ а б c [В архиве 2010-11-24 на Wayback Machine Веб-сайт Embarcadero: Античное программное обеспечение: Turbo Pascal v3.02]
  23. ^ https://cs.nyu.edu/cs/faculty/marateck/turtle.html
  24. ^ Руководство Borland Graphics Toolbox
  25. ^ Турбо Паскаль 5.5
  26. ^ Турбо Паскаль 6.0
  27. ^ Турбо Паскаль 7.0
  28. ^ https://winworldpc.com/product/turbo-pascal/1x-mac
  29. ^ а б «Античное программное обеспечение: Turbo Pascal v5.5». CDN »Музей. Borland Software Corporation. Архивировано из оригинал на 2004-02-03. Получено 2013-04-01.
  30. ^ а б "Téléchargements - Gratuits: Compilateurs Delphi, Pascal & C / C ++". Borland Software Corporation. Архивировано из оригинал на 24.06.2004. Примечание для международных пользователей: этот бесплатный Turbo Pascal 7 доступен только на французском языке. Версия Turbo Pascal 7 для США еще не доступна для бесплатной загрузки. Для версии для США загрузите Turbo Pascal 5.5 US ниже. Спасибо.
  31. ^ «Глава 14 - Объединение Паскаля с Ассемблером». В архиве с оригинала на 20.10.2016. Получено 2016-10-19.
  32. ^ "InfoWorld 21 марта 1988 г .: Объявление Turbopower T-Debug 4". В архиве из оригинала на 2016-04-25. Получено 2015-12-13.
  33. ^ "Руководство по Turbo Profiler 1.0" (PDF). Архивировано из оригинал (PDF) на 2012-04-02. Получено 2011-11-03.
  34. ^ "Power Book Марко Канто: отладка программ на Delphi" (PDF). Архивировано из оригинал (PDF) 31 марта 2012 г.. Получено 2011-10-31.
  35. ^ 3.3.2. Связь с внешне скомпилированными и скомпилированными подпрограммами - Реконструкция руководства пользователя UCSD Pascal System II.0 - Версия I.5, сентябрь 1978 г. В архиве 2007-09-03 на Wayback Machine
  36. ^ «Поддержка разработчиков Borland Pascal». Архивировано из оригинал на 2010-10-23. Получено 2011-04-25.
  37. ^ «Ошибка запуска при запуске Borland версии 7 Pascals 200 (разделить на ноль)». Архивировано 07 сентября 2015 года.. Получено 2015-11-16.CS1 maint: неподходящий URL (связь) Веб-страница с описанием причины ошибки и различных решений.
  38. ^ «PatchCRT - исправить ошибки RunTime в некоторых приложениях». kennedysoftware.ie. 2003 г. В архиве из оригинала 2011-07-21. Получено 2010-09-28.
  39. ^ https://www.heise.de/ct/hotline/Nicht-schon-wieder-Runtime-Error-200-307662.html
  40. ^ «Как исправить ошибку времени выполнения 200». pcmicro.com. 2006 г.. Получено 2010-09-28.
  41. ^ «Ошибка выполнения 200» (на немецком). blume-programm.de. 2003-03-13. Архивировано из оригинал на 2015-11-17. Получено 2015-11-16.
  42. ^ Ченг, Аллен (1997). "SuperDelay v1.1a". blume-programm.de. Получено 2010-09-28.[постоянная мертвая ссылка ]

внешняя ссылка