Turbo Pascal
Turbo Pascal is a dialect of the Pascal programming language which was sold by Borland International during the 1980s and 1990s for use with the MS-DOS and later Microsoft Windows operating systems. A few versions (1.0 and 1.1) were also released for Apple’s System 6 and System 7 (a.k.a. Mac OS in later versions).It provided an Integrated Development Environment or IDE, which combined editor, program compiler and execution environment for developing, debugging, and compiling Pascal source code.
It would later provide features such as conditional compilation and the ability to separately compile modules using the unit directive, and would also implement some of the features which were first implemented years earlier in UCSD Pascal.
Beginning with version 5.5 Turbo Pascal introduced support for OOP by an extended version of the Object Pascal syntax that had been introduced with Apple’s Mac Pascal.
Turbo Pascal would eventually be renamed Borland Pascal, and later phased out, to be replaced by a more powerful Pascal Compiler, Delphi, for use on the Microsoft Windows (and the Kylix version for use on the Linux) operating system.
The FPC Pascal Compiler provides a high level of compatibility with code written for Turbo Pascal and Borland Pascal, and some degree of compatibility with code written for Delphi and Kylix.
Ретро? Некро? Ах да, Турбо!
Многие люди, пишущие о Turbo Pascal, начинают со своих воспоминаний о том, как он появился и каким шагом вперед он стал по сравнению с существующими на тот момент компиляторами. Мне было бы сложно последовать их примеру, хотя бы потому, что Turbo Pascal 1.0 ровно на два года старше меня, и в сознательном возрасте я застала уже версию 7.0, плавно переходящую в Delphi.
Придется подойти к этому вопросу с диаметрально противоположной стороны и рассказать о том, как Turbo Pascal и его эволюция воспринимаются человеком, воспитанным на значительно более поздних средах разработки и обращающимся к TP с исследовательскими целями (а именно — для проекта progopedia.com).
Итак, год 1983, Turbo Pascal 1.0…
Turbo Pascal 1.0
1. Первое, что бросается в глаза — минимализм процесса установки
«Инсталлируется» TP 1.0 (и следующие версии до 4.0 включительно), в отличие от современных сред разработки, простым копированием на жесткий диск. Рабочим каталогом является тот же каталог, в котором хранится сам компилятор. В версиях 1.0 — 3.0 нет возможности подключения библиотек, так что установка занимает ровно одно действие. Существует возможность дополнительной настройки параметров экрана и команд редактора, но ее использование не обязательно для работы.
Начиная с версии 4.0, появляется возможность изменения рабочего каталога и задания каталогов, содержащих подключаемые библиотеки. Кстати, все версии TP созданы для DOS, и имена файлов и каталогов поддерживают исключительно в формате «8.3» — факт, известный теоретически, но на практике ставший для меня новостью.
Начиная с версии 5.5, появляется утилита install.exe, позволяющая заменить копирование файлов дистрибутива на автоматизированный процесс инсталляции с попутной настройкой рабочих каталогов. В версии 7.0 возможность установки копированием исчезает.
2. Минимализм самого дистрибутива
Дистрибутив TP 1.0 занимает 131 кб и помещается на одну пятидюймовую дискету (если, конечно, она у вас есть). Ничего лишнего в нем нет; руководство пользователя прилагается в виде отдельной (бумажной) книги,
а в дистрибутив входит только файл error.doc, состоящий из очень короткого раздела «Getting Started», FAQ и исправлений к бумажному руководству. Кстати, здесь не работает еще один стереотип современности: .doc — это не файл MS Word, а текстовый файл с некоторым документом, точно так же как .hlp — не специализированный файл справки в соответствующем формате, а текстовый файл с некоторой справкой.
С каждой следующей версией TP дистрибутив растет как в размере, так и в числе и разнообразии входящих в него файлов.
| Версия | Дата выпуска | Размер, кб | Количество файлов | Количество примеров | Размер и формат скомпилированной программы Hello, World!, байт |
|---|---|---|---|---|---|
| 1.0 | 20 ноя 1983 | 131 | 10 | 1 | 8805 (com) |
| 2.0 | 17 апр 1984 | 164 | 18 | 5 | 10078 (com) |
| 3.0 | 17 сен 1986 | 335 | 31 | 14 | 11412 (com) |
| 4.0 | 02 ноя 1987 | 980 | 69 | 24 | 1968 (exe) |
| 5.5 | 02 мая 1989 | 1 680 | 119 | 54 | 1840 (exe) |
| 6.0 | 04 окт 1990 | 2 880 | 172 | 84 | 1934 (exe) |
| 7.0 | 09 мар 1993 | 23 383 | 532 | — | 2208 (exe) |
Начиная с версии 5.5, структура дистрибутива TP изменилась: теперь он содержит ограниченный набор необходимых файлов (сам компилятор) и несколько архивов с необязательными дополнениями: описание среды и языка, утилиты, набор примеров и т.д. (в таблице приводятся размеры дистрибутива после разархивации всех дополнений и удаления исходных архивов, для TP 7.0 — после установки).
3. Минимализм среды разработки как таковой
Среда TP 1.0 (а также TP 2.0 и TP 3.0) огранизована как текстовое меню, команды которого выбираются нажатием «горячих» клавиш.
Turbo Pascal 2.0
Turbo Pascal 3.0
В режиме редактирования рабочий файл открывается отдельно, и компиляция/выполнение программы
возможны только после выхода из режима редактирования и возврата в меню. Это позволяет пройти весь цикл разработки программы, не выходя из оболочки (а объединение редактора файла, компилятора и
линковщика в одном флаконе стало огромным шагом вперед), но очень непривычно для современного программиста.
Так, например, нельзя отредактировать два файла подряд, не выходя из оболочки (не говоря уже об одновременном редактировании нескольких файлов подряд) — рабочий файл, заданный первым, остается рабочим до конца сессии (впрочем, для проектов, состоящих из одного файла, смена рабочего файла — это роскошь, а не необходимость).
Да и сам редактор непривычен — все команды подаются нажатием нескольких клавиш (аналогично «горячим» клавишам большинства современных редакторов), но основаны на командах редактора WordStar, которые сильно расходятся с современными «умолчательными» значениями. Так, например, войти в режим редактирования просто — находясь в основном меню, нажать E и задать имя рабочего файла — а вот выйти из него уже сложнее. Я перепробовала много команд из современного «стандарта», но до комбинации Ctrl-K-D так и не догадалась, пришлось лезть в руководство пользователя.
Кстати, Borland объявил «антикварным софтом» и выложил в свободный доступ (http://community.borland.com/museum/) только сам TP 1.0 (а также 3.0 и 5.5), а не руководство к нему, которое в свое время поставлялось в бумажном виде при покупке дистрибутива и служило своеобразной защитой от несанкционированного копирования. Поэтому в электронном виде нашлось руководство только к версии 3.0 (которая, впрочем, не слишком отличается от 1.0).
До версии 3.0 внешний вид и возможности среды разработки почти не меняются, зато потом…
Turbo Pascal 4.0
TP 4.0 впервые представляет интерфейс в виде полноэкранного редактора с выпадающими меню в верхней части экрана и окном вывода и списком «горячих» клавиш в нижней части. Появляется возможность навигации в меню без «горячих» клавиш, с помощью клавиш управления курсором.
Turbo Pascal 5.5
В Turbo Pascal 5.5 появляется привычный интерфейс в синих тонах, использующийся в остальных более поздних продуктах Turbo. В TP 6.0 он дополняется поддержкой мыши. Подсветка синтаксиса языка, без которой сложно представить себе современную среду разработки, появляется только в Turbo Pascal 7.0.
Turbo Pascal 7.0
Еще одно отличие ранних версий TP от современных сред — ограниченные возможности отладки. При компиляции TP 1.0 сообщает о наличии первой ошибки (и о ее природе, если не экономить на памяти и подключить тексты ошибок) и отправляет в редактор на эту строку. Все. За одну компиляцию исправляется ровно одна ошибка, не говоря уже о невозможности отладки откомпилированной программы. Возможность пошаговой отладки появляется только в версии 5.5.
4. Минимализм создаваемых проектов
А вот что мне в TP 1.0 действительно понравилось (в отличие от опять же Visual-сред) — это минимализм создаваемых проектов, сохраняющийся до последней версии. Один проект = один файл с исходным кодом + (опционально) один исполняемый файл .com (с версии 4.0 — .exe). Лично меня раздражает количество каталогов и файлов, создаваемых той же Visual Studio для простенького консольного приложения (для «Hello, World!» на C++ — 22 файла и 3 каталога).
Turbo Pascal — Turbo Pascal
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, его недавно созданного программного обеспечения. pany, в области инструментов программирования. Исторически сложилось так, что подавляющее большинство программистов рассматривало свой рабочий процесс как цикл редактирования / компиляции / компоновки с отдельными инструментами, предназначенными для каждой задачи. Программисты написали исходный код , используя; затем исходный код был скомпилирован в объектный код (часто требующий нескольких проходов), а компоновщик объединил объектный код с библиотеками времени выполнения для создания исполняемой программы.
На раннем этапе развития рынка IBM PC (1981–1983 гг.) Все основные поставщики программных средств создавали компиляторы, которые работали аналогичным образом. Например, система Microsoft Pascal состояла из двух этапов компиляции и последнего этапа компоновки (который мог занять несколько минут в системах с только гибкими дисками в качестве вторичного хранилища, хотя программы были намного меньше, чем сегодня). Этот процесс был менее ресурсоемким, чем более поздняя интегрированная среда разработки (IDE). Продавцы инструментов разработки программного обеспечения нацеливали свои продукты на профессиональных разработчиков, и цена этих базовых инструментов и вспомогательных инструментов, таких как профилировщики , исчислялась сотнями долларов.
Идея Кана заключалась в том, чтобы упаковать все эти функции в интегрированный инструментарий программирования, предназначенный для гораздо более высокой производительности и использования ресурсов, чем обычные профессиональные инструменты разработки, и взимать низкую цену за пакет, объединяющий пользовательский текстовый редактор и компилятор. , и вся функциональность необходима для создания исполняемых программ. Программа была продана через прямую почтовую рассылку за 49,95 долларов, без использования установленных каналов продаж (розничных продавцов или торговых посредников).
В отличие от некоторых других инструментов разработки, диски Turbo Pascal не имели защиты от копирования . Turbo Pascal поставляется с «Книжной лицензией»: «Вы должны обращаться с этим программным обеспечением как с книгой . [оно] может использоваться любым количеством людей . может свободно перемещаться с одного компьютера на другой, до тех пор, пока поскольку нет возможности его использования в одном месте, в то время как он используется в другом ».
Приемная
Джерри Пурнелл из журнала Byte писал в феврале 1984 года, что Turbo Паскаль «приближается к тому, к чему, я думаю, движется компьютерная индустрия: хорошо документированный, стандартный, с множеством хороших функций и разумной ценой». Пурнеллу не понравилось требование купить еще одну лицензию на распространение двоичных файлов, но он отметил, что «оказалось, что это не намного больше. Borland только хочет еще на 100 долларов» больше базовой цены в 49,95 долларов, и что «мое первое впечатление о Turbo таково, что это вероятно, стоит 149,95 долл. Похоже, он делает все, что делает MT + с пакетом программирования скорости, и, возможно, даже делает это быстрее и лучше ». В июле он сообщил, что, по словам Кана, IBM отказалась перепродавать Turbo Pascal, если цена не составляла по крайней мере 200 долларов; Пурнель отметил, что «Turbo намного лучше, чем Pascal, который продает IBM», и в отличие от последнего был совместим с IBM PCjr . Трехбайтовые обозреватели похвалили Turbo Pascal в том же номере. Один назвал версию DOS «без сомнения, лучшим программным обеспечением, которое я когда-либо покупал», а другой назвал версию CP / M «отличным продуктом . [Borland] заслуживает похвалы за этот ценный продукт». Третий заявил, что это «плохой компилятор для разработки массовых приложений», но добавил, что он значительно превосходит BASIC , язык программирования, который обычно ассоциировался с домашними компьютерами в то время. Он пришел к выводу, что Turbo Pascal — это «сделка, от которой нельзя отказываться».
Несмотря на обнаружение того, что он описал как «серьезную ошибку» в версии 3.0, и снижение совместимости с клонами ПК , журнал в феврале 1986 года заявил, что «трудно не рекомендовать Turbo любому, кто хочет программировать на Паскале», сославшись на улучшенную скорость и графические процедуры. При обзоре четырех других компиляторов Паскаля в декабре 1986 года Байт охарактеризовал Turbo Pascal как «практичный и привлекательный для программистов любого уровня знаний». Брюс Вебстер также похвалил язык в журнале, заявив в августе 1985 года, что Turbo Паскаль «наиболее известен своим небольшим размером, невероятной скоростью компиляции и быстрым временем выполнения». Он отметил, что качество и низкая цена программного обеспечения были особенно удивительны после «фиаско JRT Pascal », и заявил, что даже при новой более высокой цене в 69,95 долларов версия 3.0 «по-прежнему остается лучшим предложением программного обеспечения на рынке. market ».
PC Magazine в ноябре 1984 г. также выступил за комплимент, заявив, что« ничего подобного Turbo Pascal для PC-DOS раньше не существовало ». Он похвалил программное обеспечение за низкую цену, скорость, необычно хорошую документацию для компилятора и отметил существование множества утилит от других компаний, которые надеялись извлечь выгоду из популярности Turbo Pascal. В обзоре говорилось, что среда IDE, которая упростила цикл редактирования-компиляции-запуска-отладки, сделала Turbo Pascal доступным для новых программистов, таких как BASIC.
Byte в 1989 году включил 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 был основан на компиляторе Blue Label Pascal, первоначально созданном для кассетной операционной системы NasSys Nascom микрокомпьютер в 1981 г., автор Андерс Хейлсберг . Borland лицензировала ядро компилятора Hejlsberg (Poly Data было названием компании Hejlsberg в Дании) и добавила пользовательский интерфейс и редактор. Андерс Хейлсберг присоединился к компании в качестве сотрудника и был архитектором всех версий компилятора Turbo Pascal и первых трех версий Borland Delphi .
Компилятор был впервые выпущен как Compas Pascal для CP / M , а затем выпущен 20 ноября 1983 года как Turbo Pascal для CP / M (включая компьютер Apple II , когда он оснащен Z-80 SoftCard , эффективно преобразовывая 6502 превратил Apple в машину CP / M, Commodore 64 с картриджем CP / M и более позднюю модель DEC Rainbow ), CP / M-86 и DOS. При запуске на рынок США Turbo Pascal продавался по розничной цене USD 49,99, что было очень низкой ценой для компилятора в то время. Интегрированный компилятор Паскаля имел хорошее качество по сравнению с другими продуктами Паскаля того времени.
Имя Turbo называлось скоростью компиляции и производимых исполняемых файлов. Цикл редактирования / компиляции / выполнения был быстрым по сравнению с другими реализациями Паскаля, потому что все, что связано с построением программы, хранилось в ОЗУ, и потому что это был однопроходный компилятор , написанный на языке ассемблера . Компиляция была намного быстрее, чем компиляторы для других языков (даже собственные более поздние компиляторы Borland для C) и другие компиляторы Pascal, и время программиста также было сэкономлено, поскольку программу можно было скомпилировать и запустить из IDE. Скорость выполнения этих программ в формате COM стала откровением для разработчиков, чей предыдущий опыт программирования на микрокомпьютерах был связан с интерпретируемым BASIC или UCSD Pascal , который компилировался в p-code , который затем был интерпретирован во время выполнения.
Версия 1 была базовой системой «все-в-одном», работающей в памяти и производящей исполняемые файлы .COM для DOS и CP / M, а также эквивалентные исполняемые файлы для 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 КБ).
TP IDE была очень продвинутой для своего времени. Он мог хорошо работать и очень быстро компилироваться с объемом оперативной памяти на типичном домашнем компьютере. IDE была простой и интуитивно понятной в использовании, а также имела хорошо организованную систему меню. Ранние версии редактора использовали ключевые функции WordStar , которые в то время были стандартом де-факто . Более поздние версии IDE, разработанные для ПК с большим дисковым пространством и памятью, могли отображать определения ключевых слов языка, помещая курсор на ключевое слово и нажимая клавишу F1 (обычно используется для отображения справки). Многие определения включали пример кода.
В дополнение к стандартным исполняемым программам компилятор мог генерировать программы Terminate and Stay Resident (TSR), небольшие утилиты, которые оставались в памяти и позволяли компьютеру выполнять другие задачи — запускать несколько программ на в то же время многозадачность иначе была недоступна. Сам Borland разработал небольшой набор приложений под названием Sidekick , который представлял собой TSR, позволяющий пользователю вести дневник, заметки и т. Д.
Версия 2
Версия 2, выпущенная несколькими месяцами позже, 17 апреля 1984 г., была постепенным улучшением исходного Turbo Pascal. Программы .COM могут быть наложены эффективно с использованием виртуальной памяти, если в противном случае они не помещались бы в памяти.
Версия 2 для CP / M-80 работала только на машинах CP / M на базе Z80.
Версия 3
Версия 3 была выпущена на 17 сентября 1986 г.
Borland также предложил TURBO-87, для которого требовался математический сопроцессор 8087 (или более поздний совместимый). Это было доступно от 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 поддерживал графику черепахи .
Borland также предлагала версию BCD (TURBOBCD), которая предлагала тот же числовой диапазон, что и реальные типы данных, но до 18 значащих цифр.
Версии DOS
Версии 4
Версия 4, выпущенная 20 ноября 1987 г., была полностью переписана, со значительными изменениями внешнего вида и внутренних операций . Компилятор генерировал исполняемые файлы в формате .EXE под DOS, а не более простые, но более ограниченные исполняемые файлы .COM. Устаревшие к тому времени версии операционных систем CP / M и CP / M-86 были удалены после переписывания TP. Версия 4 представила блоки и полноэкранный текстовый пользовательский интерфейс с раскрывающимися меню; в более ранних версиях было текстовое меню и отдельный полноэкранный редактор. (Microsoft Windows все еще была экспериментальной, когда была выпущена первая версия, и даже мыши были редкостью.)
Дополнительный пакет, Turbo Pascal Graphix Toolbox, был доступен для Turbo Pascal V4.
Версия 5.0
Цветные дисплеи заменяли монохромные; Версия TP 5.0 представила синий экран Borland, который использовался компиляторами Borland DOS до конца этой линейки продуктов в середине 1990-х годов.
Более поздние версии были представлены в двух пакетах с одинаковым номером версии: менее дорогой пакет «Turbo» и пакет «Borland» с расширенными возможностями и дополнительными надстройками.
Версия 5.5
В этой версии представлены возможности объектно-ориентированного программирования для языка Pascal, включая концепцию классов, статических и динамических объектов, конструкторов и деструкторов и наследования, которые станет основой Object Pascal в Borland Delphi. В среде IDE используется синяя цветовая схема по умолчанию, которая также будет использоваться в более поздних продуктах Borland Turbo. Другие изменения в IDE включают:
- Добавление пошагового отладчика в IDE.
- Контекстно-зависимая справка с описанием всех встроенных функций и возможность копирования фрагментов кода из справки для редактирования
Версия 6.0
Изменения по сравнению с 5.5 включают:
- Добавлена функция встроенного ассемблера для языка Pascal.
- Добавлена библиотека Turbo Vision .
- Изменения в IDE включают поддержку мыши, буфер обмена для текстовых манипуляций, многодокументный интерфейс , поддерживающий до девяти окон редактирования.
- Отладчик поддерживает использование точек останова и наблюдения.
Версия 7.0
Изменения по сравнению с 6.0 включают:
- Компилятор поддерживает создание исполняемых файлов DOS и Windows, Windows DLL.
- Изменения в IDE включают добавление подсветки синтаксиса.
Turbo Pascal для Windows
Были выпущены две версии под названием «Turbo Pascal для Windows» (TPW) для Windows 3.x : TPW 1.0, основанный на Turbo Pascal 6, но выпущенный с опозданием примерно на 2 года r и 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 как бесплатное после того, как они стали «антикварным программным обеспечением» (Abandonware ), с 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, независимый от TP и совместимый по исходным текстам с широко используемым 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.
Более поздние версии также поддерживали удаленную отладку через кабель связи RS232 .
Модули
С годами Borland не улучшала только IDE, но и расширенный язык программирования. Система разработки, основанная на стандарте ISO Pascal , требует расширений для конкретной реализации для разработки реальных приложений на платформах, на которые они нацелены. Стандартный Pascal разработан так, чтобы быть независимым от платформы, поэтому не предписывает низкоуровневый доступ к средствам, зависящим от оборудования или операционной системы. Стандартный Паскаль также не предписывает, как большая программа должна быть разбита на отдельные единицы компиляции. Начиная с версии 4, Turbo Pascal перенял концепцию единиц из UCSD Pascal . Единицы использовались в качестве внешних библиотек функций, как объектные файлы, используемые в других языках, таких как FORTRAN или C.
Например, строка использует crt; в программе включен модуль под названием crt ; использует — это механизм для использования других единиц компиляции. интерфейс и реализация были ключевыми словами, использовавшимися для указания внутри модуля, что было (а что не было) видимым вне модуля. Это похоже на ключевые слова public и private в других языках, таких как C ++ и Java .
. Единицы в 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 Pascal , который был очень популярен на 8-битных машинах. Синтаксис Turbo Pascal для модулей, похоже, был заимствован из UCSD Pascal. Более ранние версии Turbo Pascal, разработанные для компьютеров с ограниченными ресурсами, поддерживали систему динамического связывания «цепочки и выполнения» для отдельно скомпилированных объектов, аналогичную системе, широко используемой в BASIC. Кроме того, в языке есть инструкция для включения отдельного исходного кода в программу, когда это необходимо, и наложение поддерживалось из TP3, но, как и в случае с наложениями, связанные объекты должны были вписываться в исходное (ограниченное) пространство памяти программы. По мере развития вычислительной техники и средств хранения в Turbo Pascal была добавлена возможность создания больших EXE-файлов с возможностью статического связывания и коллективной загрузки отдельно скомпилированных объектов.
Объектно-ориентированное программирование
Начиная с версии 5.5 были введены некоторые функции объектно-ориентированного программирования : классы, наследование, конструкторы и деструкторы. IDE уже была дополнена интерфейсом обозревателя объектов, показывающим отношения между объектами и методами и позволяющим программистам легко перемещаться по модулям. Borland назвал свой язык Object Pascal , который был значительно расширен и стал языком, лежащим в основе Delphi (который имеет две отдельные системы ООП). Название «Object Pascal» произошло от расширений Pascal, разработанных Apple Inc. для программирования компьютеров Lisa и Macintosh . Создатель Паскаля Никлаус Вирт консультировал при разработке этих расширений, основанных на типе record , уже присутствующем в Паскале.
Проблема с блоком 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), расширенное (10-байтовое представление IEEE 754, используемое в основном внутри числовыми сопроцессорами ) и Real (6-байтовое представление).
В первые дни Real был самым популярным. Большинство ПК того времени не имело сопроцессора с плавающей запятой , поэтому все FP должны были выполняться программно. Собственные FP-алгоритмы Borland на Real были быстрее, чем при использовании других типов, хотя его библиотека также эмулировала другие типы в программном обеспечении.
TURBO PASCAL
Первое знакомство с системой программирования Турбо Паскаль
Примечание. На всех дискетах может быть создан файл turbo.bat для автоматического запуска системы программирования Турбо Паскаль и выхода из нее (например, turbo.bat:C:\TP7_0\BIN\turbo.exe diskpark).
Из истории. Турбо Паскаль появился на рынке программных продуктов в 1984 году и совершил революцию в программировании. До этих пор предпочтение отдавалось Бейсику — простому, дешевому и легко усваемому. Паскаль же был аппаратно зависимым, дорогим и сложным в обращении. С появлением Турбо Паскаля положение меняется. Турбо Паскаль состоит из языка программирования и среды программирования, которая создает удобства в работе.
Изучение Паскаля как языка программирования идет вместе с изучением всей системы Турбо Паскаль. Язык программирования Паскаль был разработан Н.Виртом в 1968-1970 годах и получил широкое распространение благодаря наглядности программ и легкости при изучении. Он послужил основой для разработки других языков программирования (например, Ада, Модула-2).
Первая версия Турбо Паскаля использовалась не очень долго — появилась в 1983 году, а уже в 1984 году ее заменила вторая версия, которая получила широкое распространение. К осени 1985 года появляется третья версия, более удобная в работе (быстрее работает компилятор и редактор, возможен вызов MS-DOS из программы).
Четвертая версия (1988 год), представил Турбо Паскаль в новом виде (появление новой среды, компилятор стал встроенным). Осенью этого же года разработана пятая версия, у которой еще больше развита среда и у которой появился встроенный отладчик. А в 1989 году появилась версия 5.5, позволившая перейти к объектно-ориентированному программированию.
Шестая версия уже обеспечивала многооконный и многофайловый режим работы, использование мыши, применение объектно-ориентированного программирования, обладала встроенным ассемблером и имела другие возможности.
В 1992 году фирма Borland International выпустила два пакета программирования на языке Паскаль — это Borland Pascal 7.0 и Turbo Pascal 7.0
Пакет Turbo Pascal 7.0 использует новейшие достижения в программировании. Он может быть использован практически на любой машине и относительно дешев. Язык этой версии обладает широкими возможностями, имеет большую библиотеку модулей. Среда программирования позволяет создавать тексты программ, компилировать их, находить и исправлять ошибки, компоновать программы из отдельных частей, использовать модули, отлаживать и выполнять отлаженную программу.
| показать, как включать компьютер; |
| показать, как правильно вставлять дискету; |
| показать, как запускать Турбо Паскаль; |
| познакомить с рабочим экраном. |
После загрузки системы на экране появляется три окна:
| File Edit . | окно 1 — главное меню; | ||||
| Line 1 Col 1. | окно 2 — основное, или рабочее, окно; | ||||
| F1-Help . | окно 3 — окно помощи, в нем указываются назначения основных функциональных клавиш. | ||||
Переход из первого окна во второе и на оборот осуществляется при помощи нажатия клавиши F10.
Команды редактора
Примечание. Требуется заранее подготовить карточки с основными командами, необходимыми для работы. Остальные команды учащиеся могут узнать в процессе работы с Турбо Паскалем при помощи режима помощи (клавиша F1).
Команды управления движением курсора
-> — перемещение курсора на символ вправо;
<- — перемещение курсора на символ влево;
^ — перемещение курсора на строку вверх;
v — перемещение курсора на строку вниз;
Home — перемещение курсора в начало текущей строки;
End — перемещение курсора в конец текущей строки;
Page Up — перемещение курсора на страницу вверх;
Page Down — перемещение курсора на страницу вниз;
Примечание. Страница — это число строк текста, составляющих один экран (21 строка).
Ctrl + Home — перемещение курсора в левый верхний угол;
Ctrl + End — перемещение курсора в левый нижний угол;
Команды вставки и удаления текста
Insert — включение и выключение режима вставки;
Примечание. Если режим вставки включен, то на экране курсор имеет вид мигающей черты. В режиме вставки набираемый символ вводится в позицию, в которой стоит курсор, а все символы (начиная с символа, стоящего в позиции курсора ранее),расположенные правее, сдвигаются вправо. Если режим вставки выключен, то набираемый символ заменит тот символ, который находится в позиции курсора, таким образом можно старый текст заменить на новый.
Delete — удаление символа, стоящего в позиции курсора;
Backspace — удаление символа, стоящего перед курсором;
Примечание. Иногда на этой клавише написано BS, а иногда это левосторонняя стрелка, расположенная над клавишей ввода (ENTER).
Ctrl + N — вставка пустой строки над строкой, где находится курсор;
Ctrl + Y — удаление строки, где находится курсор.
Задания
-
Набрать свою фамилию, имя и отчество. В следующей строке — свой домашний адрес, ваш номер телефона (если он есть).
Примечание. Показать, как переходить на русский язык, как печатать заглавные буквы, цифры и знаки препинания.
Режим помощи
Необходимо познакомить с режимом помощи — Help (F1). Показать, как входить в режим помощи, перемещаться по нему. Подробное знакомство с этим режимом учащиеся проводят самостоятельно.
Первая программа
Рассказать об общем виде программы.
Программа начинается с заголовка, имеющего следующий вид: Program <имя программы>;
За ним идет раздел описаний, в котором должны быть описаны все идентификаторы (константы, переменные, типы, процедуры, функции, метки), которые будут использованы в программе.
После раздела описаний идет раздел операторов, который начинается со служебного слова Begin и заканчивается служебным словом End. В этом разделе задаются действия над объектами программы, введенными в употребление в разделе описаний. Операторы в этом разделе отделяются друг от друга точкой с запятой. После последнего слова End ставится точка.
Разбор примера
Примечание. Программа должна быть заранее записана на всех дискетах, и преподаватель сам выводит ее на экран.
Рассмотрим на примере.
Program Example_1;
Var a, b, rez: Integer;
Begin
Writeln(‘Введите два числа через пробел’);
Readln(a,b);
rez:=a*b;
Writeln (‘Их произведение равно ‘,rez);
Writeln (‘Нажмите <Enter>’);
Readln;
End.
Пояснения к программе
Имя этой программы example_1 (заметим, что в имени программы не должно быть пробелов, оно должно начинаться с буквы, состоять только из латинских букв, цифр и некоторых символов, не допускается использование символов точки и запятой). Из разделов описаний имеется лишь один — раздел переменных. Он начинается со служебного слова Var, после которого идет последовательность объявления переменных, разделенных точкой с запятой. В каждом объявлении перечисляются через запятую имена переменных одного типа, после чего ставится двоеточие и указывается тип переменных. В нашем примере описаны три переменные: все они (a, b и rez) имеют целый тип (integer), то есть переменные этого типа — это целые числа.
После описательной части идет раздел операторов, начинающийся со служебного слова Begin, после которого идут операторы языка. Первый встречающийся оператор — это Writeln(‘текст’); — записать (вывести) на экран текст, заключенный между апострофами, ln добавляется в конце этого оператора для того, чтобы курсор автоматически переходил на следующую строку при выводе на экран текстов или результатов выполнения программы.
Следующий оператор — это Readln(a,b); — читать данные с клавиатуры. В данном случае необходимо ввести два целых числа через пробел, тогда переменной a присваивается значение, равное первому введенному числу, а переменной b присваивается значение, равное второму введенному числу. Например, вы ввели числа 12 и 45, тогда a = 12, а b = 45. В конце этого оператора также можно ставить ln.
После этих двух операторов стоит оператор присваивания: rez := a * b; (:= — это знак присваивания в языке Паскаль). При выполнении этого оператора переменная rez получит значение, равное произведению числа a на число b (рис.1). Так как в результате умножения двух целых чисел получается целое число, то переменная rez описана типом Integer(значениями которого могут быть лишь целые числа).
Следующий оператор — это снова оператор writeln(‘текст’,rez) — он выведет на экран текст, заключенный между апострофами, а за ним значение переменной rez. Затем следующий оператор writeln выведет на экран сообщение: »Нажмите <Enter>», а оператор readln будет ожидать этого нажатия в окне выполнения. В конце раздела операторов стоит служебное слово End, после которого стоит точка.
Запуск программы
Для того, чтобы запустить программу, выходим в главное меню (нажатием F10) — первое окно, выбираем режим RUN и дважды нажимаем <Enter>. На экране появляется сообщение:
Введите два целых числа через пробел
Курсор мигает в следующей строке, вводим два целых числа через пробел и нажимаем <Enter>, после этого появляется сообщение:
Задания
- Изменить программу для нахождения суммы двух чисел.
- Изменить программу для нахождения суммы четырех чисел.
- Найти значение выражения: (a + (d — 12)*3) * (c — 5*k), где значения переменных a, d, c и k вводятся с клавиатуры.
- Выведите на экран свою фамилию, имя и отчество, в следующей строке — дату рождения.
Сохранение программы
Для того, чтобы сохранить программу, необходимо:
| выйти в главное меню и выбрать режим File; |
| нажать <Enter> и из появившегося окна выбрать режим Save as. после нажатия клавиши <Enter> появится окно, в котором наберите имя файла. Например, а:\prim1_1.pas; здесь а:\ — это название диска, на котором будем сохранять файл, prim1_1 — имя файла (оно может содержать не более 8 символов), pas — расширение, сообщающее о том, что файл содержит программу, написанную на языке Паскаль. |
Примечание. Следует сообщить учащимся список символов, которые нельзя употреблять в именах файлов:
* = + []\|;. <>/?. А также не следует использовать в именах файлов символ пробела и буквы русского алфавита.
После того, как имя файла набрано, нажмите клавишу <Enter>.
Примечание. Следует отметить, что для быстрого сохранения файла можно воспользоваться командами Save или Save all меню File.