Turbo Pascal
Turbo Pascal (произносится «ту́рбо паска́ль») — интегрированная среда разработки программного обеспечения для платформ DOS и Windows 3.x и язык программирования в этой среде, диалект языка Паскаль от фирмы Borland.
Turbo Pascal | |
---|---|
| |
Тип | Интегрированная среда разработки |
Разработчик | Borland International, Inc. |
Написана на | Паскаль, ассемблер |
Операционная система |
CP/M, CP/M-86, MS-DOS, Windows 3.x, Macintosh |
Языки интерфейса | Паскаль |
Первый выпуск | 20 ноября 1983 |
Аппаратная платформа | x86 |
Последняя версия | 7.1 (март 1994) |
Читаемые форматы файлов | Turbo Pascal Desktop[d], Turbo Pascal configuration[d], Borland Turbo Pascal 5.5 compiled Unit[d], Borland Turbo Pascal 6.0 compiled Unit[d], Borland Turbo Pascal 7.0 compiled Unit[d], Turbo Pascal Overlay[d] и Turbo Pascal Help (v2)[d] |
Состояние | Abandonware |
Лицензия | Проприетарная |
Медиафайлы на Викискладе |
Товарный знак Borland Pascal был зарезервирован для дорогих вариантов поставки (с бо́льшим количеством библиотек и исходным кодом стандартной библиотеки), оригинальная дешёвая и широко известная версия продавалась как Turbo Pascal. Borland является развитием Turbo Pascal и имеет отличия в синтаксисе (См. Object Pascal). Поддерживает x32.
История
Turbo Pascal — это среда разработки для языка программирования Паскаль. Используемый в Turbo Pascal диалект базировался на более раннем UCSD Pascal, получившем распространение, в первую очередь, на компьютерах серии Apple II. Компилирующая компонента Turbo Pascal была основана на компиляторе Blue Label Pascal, первоначально созданном в 1981 году Андерсом Хейлсбергом для операционной системы NasSys микрокомпьютера Nascom. Позднее он был переписан как Compass Pascal для операционной системы CP/M, затем как Turbo Pascal для DOS и CP/M. Одна из версий Turbo Pascal была доступна под Apple Macintosh примерно с 1986 года, но её разработка прекратилась примерно в 1992 году.
В 1982 году Филипп Кан приобрёл компилятор у Андерса Хейлсберга и перебрался из Парижа в Калифорнию, где основал компанию Borland.
Когда в 1983 году появилась первая версия Turbo Pascal, такой тип среды разработки был относительно новым. Во время дебюта на американском рынке Turbo Pascal продавался по цене в 49,99 доллара. Помимо привлекательной цены, встроенный компилятор Паскаля также был очень высокого качества. Приставка «Turbo» намекала как на скорость компиляции, так и на скорость производимого им исполняемого кода. Turbo Pascal создавал машинный код за один проход, без шага компоновки.
После рекламной кампании за первый месяц поступило заказов на 150 тыс. долларов — так много, что местные банки отказывались оплачивать чеки и кредитные карточки, подозревая мошенничество.
За первые два года было продано не менее 300 тысяч копий компилятора, что превзошло объём продаж всех прочих языков для микрокомпьютеров[1].
Для того времени это была потрясающая среда разработки. Она была проста и интуитивно понятна, с хорошо организованным меню. Ранние версии использовали раскладку горячих клавиш WordStar. В более поздних версиях появилась возможность быстро получить определение ключевого слова языка, просто поставив курсор на ключевое слово и нажав клавишу справки. Справочные статьи часто включали примеры кода, использующего данное ключевое слово. Это позволяло неопытным программистам изучать Паскаль даже без помощи книг, используя лишь среду разработки. В поставку входило большое количество исходных текстов демонстрационных и прикладных программ. В их числе были даже шахматы.
Среда позволяла легко встраивать в код на Паскале вставки на языке ассемблера. Пользователь имел возможность проходить программу шаг за шагом; при переходе на ассемблерный блок это также работало. В любой момент пользователь мог добавить переменную или регистр в удобно расположенное окно для наблюдения за ними. При построчной отладке программ, использующих графические режимы IBM PC, происходило корректное переключение между графическим режимом программы и текстовым режимом среды разработки.
Помимо всего этого, имелось средство профилирования. Книги, включённые в поставку Borland Pascal, давали детальное описание языка ассемблера Intel вплоть до указания количества тактовых циклов, необходимых для выполнения каждой инструкции. В общем и целом, система давала превосходные возможности для оптимизации кода; пользователю не требовалось пользоваться чем-либо, кроме среды разработки. Всё было сделано так идеально, что даже школьник мог этим пользоваться. Эти качества позволили версии Паскаля от Borland стать стандартом языка Паскаль де-факто.
С начала 1990-х годов TP/BP используется в университетах для изучения фундаментальных концепций программирования.
Вероятно, разработка Microsoft Pascal была прекращена из-за конкуренции с высоким качеством и небольшой ценой Turbo Pascal. Другая версия гласит, что Borland заключил соглашение с Microsoft на прекращение разработки Turbo Basic (среды разработки для BASIC, ответвившейся от Turbo Pascal), если Microsoft прекратит разработку Microsoft Pascal. Некоторое время Microsoft выпускал QuickPascal, который был почти на 100 % совместим с Turbo Pascal.
В течение нескольких лет Borland улучшал не только среду разработки, но и язык. В версии 5.0 появились процедурные типы. В версии 5.5 в него были введены передовые возможности объектно-ориентированного программирования. Интегрированная среда так же была реализована с использованием ООП. Последней выпущенной версией была 7.0. Профессиональная поставка Borland Pascal 7.0 включала в себя среду разработки, компилятор и отладчики для создания программ под реальный режим DOS, под DOS в 16-битном защищенном режиме с использованием расширителя DOS RTTM и драйвера DPMI, а также под Windows 3.x. Наряду с универсальными IDE и компилятором в поставку входил Borland Pascal for Windows с графической IDE для Windows 3.x и объектно-ориентированной библиотекой OWL, а также Turbo Pascal 7.0 для создания DOS-программ реального режима. Turbo Pascal 7.0 можно было приобрести и отдельно.
С 1995 года в Borland прекратили разработку Turbo Pascal и предложили в качестве замены среду разработки Delphi. Новая версия языка подверглась изменению (в особенности ООП), и языку вернулось изначальное название, закреплённое разработчиками Apple Object Pascal. Старая объектная модель Turbo Pascal и соответствующий синтаксис был объявлен устаревшим, двоичная взаимозаменяемость между объектами обеих моделей не предусмотрена, но объекты в старом стиле по-прежнему поддерживаются компилятором и при желании могут использоваться программистом, как было сделано в библиотеке KOL.
Этапы
- Turbo Pascal 1.0, 20 ноября 1983 года[2]. Компилирует непосредственно в машинный код. Требует 32 килобайта оперативной памяти. Стоит меньше 50 долларов. Имеет интегрированный компилятор/редактор, высокую скорость компиляции. Позволяет размещать динамические данные в куче (heap) — динамической области памяти.
- Turbo Pascal 2.0, 1984 год. Увеличен размер создаваемой программы — позволяет использовать до 64 килобайт для кода, стека и данных. Версия для DOS поддерживает арифметический сопроцессор и двоично-десятичную арифметику (Binary-coded decimal, BCD).
- Turbo Pascal 3.0, 1985 год. Поддержка оверлейной структуры. Поддержка графических режимов. Специальные подпрограммы формирования изображений для IBM PC-совместимых компьютеров, включая «черепаховую» графику. Инструментальные пакеты.
- Turbo Pascal 4.0, 1987 год. Компиляция осуществлялась в EXE-файл, а не в COM, как ранее. Впервые введена поддержка модулей с раздельной компиляцией. Размер программы ограничен только объёмом оперативной памяти. Управляемая с помощью меню интегрированная среда разработки (англ. Integrated Development Environment, IDE), интерфейс в виде полноэкранного редактора с выпадающими меню в верхней части экрана и окном вывода и списком «горячих» клавиш в нижней части. Интеллектуальная компоновка модулей. Автономный компилятор командной строки, введенный для больших проектов, компиляция которых затруднялась ресурсоемкой IDE. Убрана поддержка оверлеев. Контекстно-чувствительная система помощи. Опции компилятора настраивались в IDE. Интеллектуальный встроенный компоновщик, который исключал из откомпилированных файлов модулей неиспользуемые в программе процедуры и функции.
- Turbo Pascal 5.0, 1988 год. Встроенный отладчик позволял трассировать исходный текст, вводить точки останова, просматривать и изменять содержимое переменных, не покидая IDE. Отдельный отладчик (Turbo Debugger), который в более поздних версиях позволял отлаживать программу с удаленной машины через RS-232-интерфейс. Эмуляция арифметического сопроцессора. Поддержка графических драйверов BGI (Borland Graphics Interface). Возвращена поддержка оверлеев. В комплект поставки был включен Turbo Assember, в свою очередь, компилятор Turbo Pascal поддерживал включаемые в Pascal-программы OBJ-файлы. Введены процедурные типы.
- Turbo Pascal 5.5, 2 мая 1989 года[3]. Объектно-ориентированное программирование. Возможность копирования в программу примеров из справочной системы. Электронный учебник на диске. Turbo Profiler — профилировщик, фиксирующий время выполнения каждого блока анализируемой программы в машинных циклах и миллисекундах для последующей оптимизации критических участков. Автономный отладчик Turbo Debugger дополнен средствами для работы с объектами — возможно просматривать иерархию объектов, вызывать методы, просматривать и модифицировать поля. Появилась возможность пошаговой отладки программы.
- Turbo Pascal 6.0, 1990 год. Библиотека Turbo Vision. Новая IDE, переписанная с использованием Turbo Vision, поддерживающая мышь и редактирование нескольких файлов одновременно в разных окнах. Возможность задания во встроенном отладчике условных и по количеству проходов точек останова. Встроенный ассемблер BASM, позволяющий в исходном тексте программы делать ассемблерные вставки. Protected-поля и методы для объектов. Работающий в защищённом режиме компилятор командной строки.
- Turbo Pascal for Windows. Создание 16-разрядных программ под Windows. Библиотека объектов Objects Windows Library (OWL), сходная по идеологии с Turbo Vision. Графическая IDE, работающая под Windows.
- Borland Pascal 7.0, 1992 год. Выпущен Borland Pascal 7.0, включающий в себя более дешёвый и менее мощный Turbo Pascal 7.0, который поставлялся также отдельно. BP 7.0 позволял создавать программы под реальный и защищённый 16-битный режим DOS и Windows. Была введена поддержка открытых массивов, добавлено новое ключевое слово «public» для доступных полей и методов объекта. Открыты исходные тексты системных библиотек и функций времени выполнения (RTL). Введена подсветка синтаксиса.
- Borland Pascal 7.1, 1994 год. Пакет обновлений, состоящий из исполняемых файлов компиляторов командной строки реального и защищенного режимов, интегрированных сред, откомпилированных системных библиотек, отладчика, диспетчеров защищенного режима и так далее. Предназначался для установки поверх версии 7.0 и не мог работать в качестве самостоятельной отдельной версии.
Библиотека Turbo Vision
Turbo Vision — это библиотека для разработки оконных, объектно-ориентированных, событийно-управляемых программ в среде MS-DOS в псевдографическом текстовом режиме.
Достоинства и недостатки Турбо Паскаля
Достоинства
- Удобная среда разработки, включающая функциональный отладчик, доступный в любой момент.
- Контекстная справочная система, по которой можно изучать язык без обращения к сторонним источникам.
- Высокая скорость компиляции, высокая скорость выполнения откомпилированных программ.
- Встроенная возможность использовать вставки на языке ассемблера.
Недостатки
- Компилятор рассчитан на реальный режим DOS, применение которого сходит на нет. Однако в последних версиях компилятора и среды введена поддержка защищённого режима вместе с соответствующим отладчиком (TD).
- В модуле CRT имеется ошибка (некорректный подсчёт количества циклов для функции delay, не рассчитанный на быстрые процессоры, процессоры с переменной частотой и многозадачные среды), из-за которой при запуске программы на компьютерах с тактовой частотой более 200 MHz сразу происходило аварийное завершение с сообщением «Runtime error 200 at…». Существуют разные варианты исправления модуля CRT[4][5][6]. В варианте Клауса Хартнегга ошибка 200 не возникает, но длительность Delay на быстрых компьютерах меньше желаемой, и эта проблема по незнанию иногда тоже считается недостатком Turbo Pascal.
- При использовании встроенного ассемблера выявлена неправильная работа с метками. Операторы, на которые указывали метки, выполнялись даже если на них не осуществлялись переходы.
Примечания
- Язык компьютера. — М.: Мир, 1989, с. 215—216.
- Antique Software: Turbo Pascal v1.0 (англ.)
- Antique Software: Turbo Pascal v5.5 (англ.)
- BP7FiX — исправление ошибки Runtime error 200 в откомпилированных программ
- T7TplFix — патч от Клауса Хартнегга для исправления модуля CRT Архивировано 15 сентября 2008 года.
- Borland Pascal Wait/Delay Архивная копия от 1 августа 2009 на Wayback Machine — обзор способов сделать задержку в DOS
Литература
- Е. А. Зуев. Программирование на языке Turbo Pascal 6.0, 7.0, М.:Веста,Радио и связь, 1993, — С.376, ISBN 5-256-01218-5
- Кассера В. Ф. Turbo Pascal 7.0, Диасофт, 2003, ISBN 5-93772-097-0
- Эллиот Б. Коффман. Turbo Pascal = Turbo Pascal Web Update. — М.: Вильямс, 2005. — С. 896. — ISBN 0-201-35086-6.
- Моргун Александр Николаевич. Справочник по Turbo Pascal для студентов. — М.: Диалектика, 2006. — С. 608. — ISBN 5-8459-1028-5.
- Нэйл Рубенкинг. Turbo Pascal для Windows = Turbo Pascal for Windows. Techniques and Utilites. — М.: Мир, 1993. — С. 535.
- Фаронов В. В. Turbo Pascal. Наиболее полное руководство. BHV-Санкт-Петербург, 2007. ISBN 5-94157-295-6
- Фаронов В. В. Turbo Pascal 7.0: Практика программирования. КноРус, 2012. ISBN: 978-5-85971-889-4
Ссылки
- Музей Borland Архивная копия от 26 октября 2007 на Wayback Machine (англ.)
- Страницы о Turbo Pascal на сайте Borland (англ.)
- Информация о Turbo Pascal
- Сайт о программировании на Turbo Pascal
- Теоретическая часть Turbo Pascal
- Borland/Inprise Pascal Versions (англ.)
- Страница загрузки Turbo Pascal 7.1
- Документация по Turbo Pascal на сайте bitsavers.org (англ.)