Turbo Pascal — это система разработки программного обеспечения, включающая компилятор и интегрированную среду разработки (IDE) для языка программирования Pascal, работающего в операционных системах CP/M , CP/M-86 и MS-DOS . Первоначально она была разработана Андерсом Хейлсбергом в Borland и отличалась очень быстрой компиляцией. Turbo Pascal и более поздний, но похожий Turbo C сделали Borland лидером в области инструментов разработки для ПК.
Для версий 6 и 7 (последние две версии) были выпущены как более дешевый Turbo Pascal, так и более дорогой Borland Pascal ; Borland Pascal был больше ориентирован на профессиональную разработку программного обеспечения, с большим количеством библиотек и исходным кодом стандартной библиотеки . Название Borland Pascal также используется в более общем смысле для диалекта языка Pascal от Borland, значительно отличающегося от Standard Pascal.
Borland выпустила три старые версии Turbo Pascal бесплатно из-за их исторического интереса: оригинальный Turbo Pascal (теперь известный как 1.0) и версии 3.02 и 5.5 для DOS, в то время как французский офис Borland выпустил версию 7.01 на своем FTP. [3] [4] [5]
Филипп Кан впервые увидел возможность для Borland, своей недавно созданной компании-разработчика программного обеспечения, в области инструментов программирования. Исторически подавляющее большинство программистов рассматривали свой рабочий процесс с точки зрения цикла редактирования/компиляции/линковки, с отдельными инструментами, предназначенными для каждой задачи. Программисты писали исходный код с помощью текстового редактора ; затем исходный код компилировался в объектный код (часто требуя нескольких проходов), а компоновщик объединял объектный код с библиотеками времени выполнения для создания исполняемой программы.
На раннем рынке IBM PC (1981–1983) все основные поставщики инструментов программирования делали компиляторы, которые работали схожим образом. Например, система Microsoft Pascal состояла из двух проходов компиляции и финального прохода связывания (который мог занять несколько минут на системах только с гибкими дисками для вторичного хранения, хотя программы были намного меньше, чем сегодня). Этот процесс был менее ресурсоемким, чем более поздняя интегрированная среда разработки (IDE). Поставщики инструментов разработки программного обеспечения ориентировали свои продукты на профессиональных разработчиков, и цена этих базовых инструментов и вспомогательных инструментов, таких как профилировщики, достигала сотен долларов.
Идея Кана состояла в том, чтобы упаковать все эти функции в интегрированный программный инструментарий, разработанный для обеспечения гораздо лучшей производительности и использования ресурсов, чем обычные профессиональные инструменты разработки, и взимать низкую цену за пакет, интегрирующий пользовательский текстовый редактор, компилятор и все функции, необходимые для создания исполняемых программ. Программа продавалась по прямой почте за 49,95 долларов США , без прохождения через установленные каналы продаж (розничных торговцев или реселлеров). [6]
Компилятор Turbo Pascal был основан на компиляторе Blue Label Pascal, изначально созданном для кассетной операционной системы NasSys микрокомпьютера Nascom в 1981 году Андерсом Хейлсбергом . Borland лицензировала ядро компилятора "PolyPascal" Хейлсберга ( Poly Data было названием компании Хейлсберга в Дании), а также добавила пользовательский интерфейс и редактор. Андерс Хейлсберг присоединился к компании в качестве сотрудника и был архитектором всех версий компилятора Turbo Pascal и первых трех версий Borland Delphi . [3]
Компилятор был впервые выпущен как Compas Pascal для CP/M , а затем выпущен 20 ноября 1983 года [2] как Turbo Pascal для CP/M (включая Apple II, оснащенный Z-80 SoftCard , эффективно преобразующий Apple на базе 6502 в машину CP/M, Commodore 64 с картриджем CP/M и более позднюю DEC Rainbow ), CP/M-86 и машины DOS. При запуске на рынке США Turbo Pascal продавался по цене 49,99 долларов США , что было очень низкой ценой для компилятора в то время. Интегрированный компилятор Pascal был хорошего качества по сравнению с другими продуктами Pascal того времени. [7]
Название Turbo намекало на скорость компиляции и создаваемых исполняемых файлов. Цикл редактирования/компиляции/запуска был быстрым по сравнению с другими реализациями Pascal, потому что все, что касалось сборки программы, хранилось в оперативной памяти, и потому что это был однопроходный компилятор, написанный на языке ассемблера . Компиляция была намного быстрее, чем компиляторы для других языков (даже собственные более поздние компиляторы Borland для C), [ необходима цитата ] и другие компиляторы Pascal, и время программиста также было сэкономлено, поскольку программа могла быть скомпилирована и запущена из IDE. Скорость выполнения этих программ в формате COM стала откровением для разработчиков, чей единственный предыдущий опыт программирования микрокомпьютеров был с интерпретируемым BASIC или UCSD Pascal , который компилировался в p-код , который затем интерпретировался во время выполнения.
В отличие от некоторых других инструментов разработки, диски Turbo Pascal не имели защиты от копирования . Turbo Pascal поставлялся с «Лицензией книги»: «Вы должны обращаться с этим программным обеспечением как с книгой ... [оно] может использоваться любым количеством людей... может свободно перемещаться с одного места на другое, при условии, что не будет возможности его использования в одном месте, пока оно используется в другом». [8]
Borland продала около 250 000 копий Turbo Pascal за два года, что Брюс Ф. Вебстер из Byte описал как «удивительную цифру для компьютерного языка». [9] Спустя шесть месяцев он сообщил, что эта цифра выросла до «более 400 000 копий на рынке, который, по оценкам, имел всего 30 000 потенциальных покупателей». [10]
Джерри Пурнелл написал в журнале в феврале 1984 года, что Turbo Pascal «близок к тому, к чему, по моему мнению, движется компьютерная индустрия: хорошо документированный, стандартный, со множеством хороших функций и разумной ценой». Ему не понравилось требование покупать еще одну лицензию для распространения двоичных файлов, но он отметил, что «оказывается, это не намного больше. Borland хочет всего лишь еще 100 долларов » сверх базовой цены в 49,95 долларов , и что «мое первое впечатление от Turbo — он, вероятно, стоит 149,95 долларов . Он, похоже, делает все, что делает MT+ с пакетом Speed Programming Package , и, возможно, даже делает это быстрее и лучше». [11] Пурнелл сообщил в июле, что, по словам Кана, IBM отказалась перепродавать Turbo Pascal, если цена не будет не менее 200 долларов ; он отметил, что «Turbo намного лучше, чем Pascal, который продает IBM», и в отличие от последнего был совместим с IBM PCjr . [12] Рецензенты Three Byte похвалили Turbo Pascal в том же выпуске. Один рецензент сказал, что из-за различий в диалектах «Turbo — это не совсем Pascal. Но он очень полезен». Предупредив, что он не подходит для разработки очень больших приложений, он пришел к выводу, что Turbo Pascal «хорошо написан, иногда им весело пользоваться, и он достаточно быстр, чтобы компенсировать его немногочисленные недостатки... это выгодная сделка, от которой нельзя отказываться». Другой назвал версию DOS «без сомнения, лучшим программным обеспечением, которое я когда-либо покупал», а третий сказал, что Borland «заслуживает похвалы» за «высококачественную» версию CP/M. [13]
Пурнель в августе 1985 года назвал версию 3.0 «явным улучшением по сравнению с уже впечатляющей версией 2» и сказал, что новая лицензия на книгу «кажется мне вполне справедливой». Он сказал, что «Turbo Pascal должен быть лучшим языком на рынке сегодня», и что Borland лидирует в отрасли, «поставляя отличные продукты по разумным ценам». [14] Несмотря на то, что журнал обнаружил «серьёзную ошибку» в версии 3.0 и снизил совместимость с ПК-клонами , в феврале 1986 года Byte заявил, что «трудно не рекомендовать Turbo всем, кто хочет программировать на Pascal», ссылаясь на улучшенную скорость и графические процедуры. [15] При обзоре четырёх других компиляторов Pascal в декабре 1986 года журнал описал Turbo Pascal как «практичный и привлекательный для программистов всех уровней знаний». [16] Помимо возможности использования приложений размером более 64 КБ, в 1988 году Byte сообщил о существенно более быстрой компиляции и выполнении для версии 4.0, и что, хотя она не поддерживала «почти полную» обратную совместимость предыдущих версий, преобразование было быстрым и простым. Рецензент заключил: «Я настоятельно рекомендую Turbo Pascal 4.0 как дополнение к программному репертуару любого программиста». [17]
Вебстер похвалил язык, заявив в августе 1985 года, что Turbo Pascal «больше всего известен своим небольшим размером, невероятной скоростью компиляции и быстрым временем выполнения». Он отметил, что качество программного обеспечения и низкая цена были особенно удивительны после « фиаско JRT Pascal », и заявил, что даже при новой более высокой цене в 69,95 долларов версия 3.0 «вероятно, все еще является лучшим программным предложением на рынке». [9] PC Magazine был также хвалебным в ноябре 1984 года, заявив, что «ничего подобного Turbo Pascal никогда не существовало для PC-DOS раньше». Он похвалил низкую цену программного обеспечения, скорость и необычно хорошую документацию для компилятора, а также отметил существование множества утилит для Turbo Pascal от других компаний. В обзоре говорилось, что IDE, которая упростила цикл редактирование-компиляция-запуск-отладка, сделала Turbo Pascal доступным, как и BASIC, для новых программистов. [18]
Byte в 1989 году включил Turbo C и Turbo Pascal в число победителей «Distinction» премии Byte Awards. Ссылаясь на их пользовательский интерфейс и постоянный акцент на скорости, журнал заявил, что «для быстрого прототипирования нет ничего лучше». [19] В том же выпуске Пурнель снова похвалил версии 4.0 и 5.0 Turbo Pascal. Ссылаясь на Anacreon как на «хороший пример того, насколько сложную программу можно написать на Паскале», а также на множество библиотек от Borland и других разработчиков, он написал: «Я думаю, что это вполне может быть языком для всех нас». [20]
Скотт МакГрегор из Microsoft сказал, что Билл Гейтс «не мог понять, почему наши вещи были такими медленными» по сравнению с Turbo Pascal. «Он приводил бедного Грега Уиттена [директора по программированию языков Microsoft] и орал на него полчаса», потому что их компания не могла победить небольшой стартап Кана, вспоминает МакГрегор. [21]
К 1995 году Borland отказалась от Turbo/Borland Pascal и заменила его средой быстрой разработки приложений (RAD) Borland Delphi , основанной на Object Pascal. 32- и 64-битные версии Delphi по-прежнему поддерживают более переносимые усовершенствования Pascal более ранних продуктов (т. е. те, которые не специфичны для 16-битного кода), включая более раннюю статическую объектную модель. Эта обратная совместимость языка означает, что большая часть старого кода Turbo Pascal по-прежнему может быть скомпилирована и запущена в современной среде сегодня.
Другие поставщики выпустили инструменты разработки ПО, совместимые с Turbo Pascal. Наиболее известными являются Free Pascal и Virtual Pascal .
{ within pairs of braces }
, или (* left parenthesis/asterisk and asterisk/right parenthesis pairs *)
, и они могут занимать любое количество строк. Более поздние версии Borland Pascal также поддерживали комментарии в стиле C++ // preceded by two forward slashes
, которые заканчиваются в конце строки.case
более гибкий, чем в стандартном Паскале.String
которому предшествует байт длины, и он занимает фиксированный объем памяти; в более поздних версиях был добавлен более гибкий тип с завершающим нулем, который называл старый тип «короткой строкой». В старом исходном коде, который обрабатывает строки нестандартными способами (например, напрямую манипулируя байтом длины, например, S[0]:=14
для усечения строки), строки должны быть либо объявлены как короткие, либо переписаны.Это классическая программа «Hello, World!» на Turbo Pascal:
программа HelloWorld ; начало WriteLn ( 'Hello World' ) конец .
Эта команда запрашивает имя и выводит его на экран сто раз:
program WriteName ; var i : Integer ; {переменная, которая будет использоваться для цикла} Name : String ; {объявляет переменную Name как строку} begin Write ( 'Пожалуйста, скажите мне свое имя: ' ) ; ReadLn ( Name ) ; {ReadLn возвращает строку, введенную пользователем} for i := 1 to 100 do begin WriteLn ( 'Привет ' , Name ) end ; readln ; end .
Хотя все версии Turbo Pascal могли включать встроенный машинный код , начиная с версии 6 появилась возможность интегрировать язык ассемблера в исходный код Pascal. [22]
Поддержка различных моделей памяти x86 обеспечивалась встроенным ассемблером, опциями компилятора и расширениями языка, такими как ключевое слово "absolute". Turbo Assembler , TASM, стандартный ассемблер x86, независимый от TP и совместимый по исходному коду с широко используемым Microsoft Macro Assembler MASM, поставлялся с улучшенными версиями "Borland Pascal".
IDE предоставляла несколько возможностей отладки, включая пошаговое выполнение , проверку и изменение переменных, а также условные точки останова. В более поздних версиях блоки на языке ассемблера можно было проходить пошагово. Пользователь мог добавлять точки останова на переменных и регистрах в окне IDE. Программы, использующие графический режим IBM PC, могли переключаться между графическим и текстовым режимами автоматически или вручную, или отображать оба режима на двух экранах. Для случаев, когда относительно простые возможности отладки IDE были недостаточными, Turbopower Software выпустила более мощный отладчик T-Debug. [23] Та же компания выпустила Turbo Analyst и Overlay Manager для Turbo Pascal. T-Debug был позже обновлен для Turbo Pascal 4, но прекращен с выпуском Turbo Debugger (TD) от Borland, который также позволял некоторое аппаратное вмешательство на компьютерах, оснащенных новым процессором 80386 .
TD обычно поставлялся вместе с Turbo Assembler и Turbo Profiler, профилировщиком кода , который сообщал о времени, затраченном на каждую часть программы, чтобы помочь оптимизировать программу путем поиска узких мест. [24] Книги, включенные в Borland Pascal, имели подробные описания языка ассемблера Intel , включая количество тактов, требуемых каждой инструкцией. Разработка и отладка могли выполняться полностью в IDE, если не требовались расширенные возможности отладки Turbopower T-Debug, а позднее и TD.
Более поздние версии также поддерживали удаленную отладку через кабель связи RS-232 . [25]
За эти годы Borland не только улучшила IDE, но и расширила язык программирования. Система разработки на основе стандарта ISO Pascal требует расширений, специфичных для реализации, для разработки реальных приложений на целевых платформах. Стандартный Pascal разработан так, чтобы быть независимым от платформы, поэтому не предписывает низкоуровневый доступ к аппаратно-зависимым или операционно-системным средствам. Стандартный Pascal также не предписывает, как большая программа должна быть разделена на отдельные компилируемые блоки. Начиная с версии 4, Turbo Pascal перенял концепцию блоков из UCSD Pascal . Блоки использовались как внешние библиотеки функций, как и объектные файлы, используемые в других языках, таких как FORTRAN или C.
Например, строка uses crt;
в программе включала блок под названием crt; это uses
механизм использования других компилируемых блоков. interface
и implementation
были ключевыми словами, используемыми для указания внутри блока того, что было (и что не было) видимо за его пределами. Это похоже на ключевые слова public
и private
в других языках, таких как C++ и Java .
Модули в Pascal от Borland были похожи на отдельную систему компиляции Modula-2 . В 1987 году, когда был выпущен Turbo Pascal 4, Modula-2 набирал обороты как образовательный язык, который мог бы заменить Pascal. У Borland, по сути, был компилятор Turbo Modula-2, но он был выпущен только на CP/M (его пользовательский интерфейс был почти идентичен интерфейсу Turbo Pascal 1–3) с небольшим маркетингом. Была разработана значительно улучшенная версия DOS, но поскольку Borland не желала публиковать результаты, авторы, включая Нильса Йенсена, выкупили права и основали Jensen & Partners International , чтобы опубликовать его как JPI TopSpeed Modula-2. Вместо этого Borland решила реализовать отдельную компиляцию в своем устоявшемся продукте Pascal.
Раздельная компиляция не была частью стандартного языка Pascal, но уже была доступна в UCSD Pascal , который был очень популярен на 8-битных машинах. Синтаксис Turbo Pascal для единиц, по-видимому, был заимствован из UCSD Pascal. [26] Более ранние версии Turbo Pascal, разработанные для компьютеров с ограниченными ресурсами, поддерживали систему «цепочки и выполнения» динамического связывания для отдельно скомпилированных объектов, похожую на систему, широко используемую в BASIC. Кроме того, в языке был оператор для включения отдельного исходного кода в программу при необходимости, и наложение поддерживалось из TP3, но, как и в случае с наложениями, связанные объекты должны были вписываться в исходное (ограниченное) пространство памяти программы. По мере развития вычислительных и хранилищных средств в Turbo Pascal была добавлена возможность генерировать большие EXE-файлы с возможностью статического связывания и коллективной загрузки отдельно скомпилированных объектов.
Файлы .TPU, выводимые путем компиляции модуля Turbo Pascal, тесно связаны с внутренними структурами компилятора, а не со стандартными связываемыми файлами .OBJ. Это улучшило время компиляции и связывания, но означало, что файлы .TPU не могли быть связаны с выводом других языков или даже использоваться с различными выпусками Turbo Pascal, если не были перекомпилированы из исходного кода.
Начиная с версии 5.5 были введены некоторые функции объектно-ориентированного программирования : классы , наследование , конструкторы и деструкторы . [5] IDE уже была дополнена интерфейсом браузера объектов, показывающим отношения между объектами и методами и позволяющим программистам легко перемещаться по модулям. Borland назвала свой язык Object Pascal , который был значительно расширен, чтобы стать языком, лежащим в основе Delphi (который имеет две отдельные системы ООП). Название «Object Pascal» произошло от расширений Pascal, разработанных Apple Computer для программирования своих компьютеров Lisa и Macintosh . Создатель Pascal Никлаус Вирт консультировался при разработке этих расширений, которые основывались на типе записи , уже присутствующем в Pascal.
Несколько версий Turbo Pascal, включая последнюю версию 7, включают в себя блок под названием CRT, который использовался многими полноэкранными текстовыми приложениями на CRT . Этот блок содержит код в своей секции инициализации для определения скорости ЦП и калибровки циклов задержки. Этот код дает сбой на процессорах со скоростью более 200 МГц и немедленно прерывается с сообщением «Runtime Error 200». [27] (код ошибки 200 не имеет ничего общего со скоростью ЦП 200 МГц). Это вызвано тем, что цикл запускается для подсчета количества итераций, которые он может выполнить за фиксированное время, измеряемое часами реального времени . Когда разрабатывался Turbo Pascal, он работал на машинах с ЦП, работающими на частоте от 2,5 до 8 МГц, и мало кто задумывался о возможности значительно более высоких скоростей, поэтому начиная с частоты около 200 МГц можно запустить достаточно итераций, чтобы переполнить 16-битный счетчик. [28] Когда машины стали слишком быстрыми для исходного метода, был создан патч , но он перестал работать, поскольку скорость процессоров еще больше возросла, и был заменен другими.
Программы, подверженные этой ошибке, можно перекомпилировать из исходного кода с помощью компилятора, исправленного для устранения ошибки (используя TURBO.TPL, скомпилированный с исправленным модулем CRT) или, если исходный код недоступен, исполняемые файлы можно исправить с помощью инструмента TPPATCH или его эквивалента [29] [30] или загрузив резидентную программу terminate-and-stay-resident перед запуском неисправной программы. [31]
Также существуют патчи для компилятора TP7, [32] таким образом, если доступен исходный код Pascal, новый код компиляции будет работать без необходимости патча для скомпилированного кода. Если доступен исходный код, то портирование на библиотеки без зависимости от тактовой частоты ЦП также является решением. [33]
Существовало несколько типов чисел с плавающей точкой , включая single
(4-байтовое представление [IEEE 754]), double
(8-байтовое представление IEEE 754), extended
(10-байтовое представление IEEE 754, используемое в основном внутри числовых сопроцессоров ) и Real
(6-байтовое представление).
В ранние дни Real
был самым популярным. Большинство ПК той эпохи не имели сопроцессора с плавающей точкой , поэтому все арифметические операции с плавающей точкой приходилось выполнять программно. Собственные алгоритмы с плавающей точкой Borland Real
были быстрее, чем при использовании других типов, хотя его библиотека также эмулировала другие типы программно.
Версия 1, выпущенная 20 ноября 1983 года, была базовой системой «все в одном», работающей в памяти и создающей исполняемые файлы .COM для DOS и CP/M, а также эквивалентные исполняемые файлы .CMD для CP/M-86 (совершенно отличающиеся от пакетных файлов .CMD, которые позже использовались в 32-разрядной Microsoft Windows). Файлы исходного кода были ограничены 64 КБ для упрощения IDE, а файлы DOS .COM были ограничены 64 КБ для кода, стека и глобальных (статических) переменных. Исходный код программы можно было расширить с помощью функции include, если исходный код превышал лимит памяти редактора.
Существовали различные версии 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 могла бы вместить исходный код и скомпилированный исполняемый файл программы разумного размера — поскольку в то время пользователи обычно имели только один дисковод в качестве запоминающего устройства , было очень удобно иметь возможность поместить и компилятор, и программу на один диск, избегая бесконечной перестановки дисков.
Архитектура различных машин, работающих под управлением MS-DOS , дополнительно ограничивала максимальный объем пользовательской памяти до 1 МБ (например, машины, аппаратно совместимые с IBM PC, были ограничены 640 КБ).
Turbo Pascal IDE была очень продвинутой для своего времени. Она могла хорошо работать и очень быстро компилироваться с объемом оперативной памяти типичного домашнего компьютера. IDE была простой и интуитивно понятной в использовании и имела хорошо организованную систему меню. Ранние версии редактора использовали ключевые функции WordStar , что было фактическим стандартом в то время. Более поздние версии IDE, разработанные для ПК с большим объемом дискового пространства и памяти, могли отображать определения ключевых слов языка, помещая курсор на ключевое слово и нажимая клавишу F1 (традиционно используемую для отображения справки). Многие определения включали пример кода.
В дополнение к стандартным исполняемым программам компилятор мог генерировать программы terminate-and-stay-resident (TSR), небольшие утилиты, которые оставались в памяти и позволяли компьютеру выполнять другие задачи — запуск нескольких программ одновременно, многозадачность , в противном случае была бы недоступна. Borland выпустила небольшой пакет приложений под названием Sidekick , который был TSR, позволяющим пользователю вести дневник, заметки и т. д.
Версия 2, выпущенная несколько месяцев спустя, 17 апреля 1984 года, была постепенным улучшением оригинального Turbo Pascal, вплоть до того, что справочное руководство поначалу было идентично версии 1, вплоть до 1983 года в качестве даты авторских прав на некоторые примеры вывода компилятора, но имело отдельное руководство «Дополнение к справочному руководству: версия 2.0 и дополнение 8087» с отдельной нумерацией страниц. [34] Дополнения включали систему наложения , где отдельные процедуры наложения автоматически выгружались с диска в зарезервированное пространство в памяти. Эта память была частью 64 КБ ОЗУ, используемого кодом программы, и автоматически имела размер самой большой процедуры наложения. [34] Процедуры наложения могли включать сами разделы наложения, но если не использовался RAM-диск, результирующая подкачка на диске могла быть медленной. 2.0 также добавила процедуру Dispose для управления кучей , что позволило освободить отдельные динамические переменные в качестве альтернативы более примитивной системе «Mark/Release» и повысило совместимость с командами WordStar, а также использование цифровой клавиатуры на IBM PC и совместимых компьютерах. [34] Такие компьютеры также имели новые команды текстового окна и графического режима CGA , а также могли использовать динамик компьютера для тонов. Наконец, машины DOS и CP/M-86 с математическим сопроцессором 8087 (или совместимым с более поздней версией) имели альтернативный компилятор TURBO-87, доступный для покупки. [34] Он поддерживал длинные действительные типы данных 8087 с диапазоном от 1,67E-307 до 1,67E+308 с точностью до 14 значащих цифр, но с гораздо большей скоростью обработки. В руководстве отмечается, что хотя исходный код для вещественных типов данных программного обеспечения Turbo Pascal предлагал диапазон от 1E-63 до 1E+63 с 11 значащими цифрами, они были несовместимы на двоичном уровне: помимо того, что у них был гораздо больший диапазон, вещественные типы программного обеспечения занимали шесть байт в памяти, а 8087 — восемь.
Как и версия 1, версия 2 для CP/M-80 работала только на машинах CP/M на базе Z80. [35]
Версия 3 была выпущена 17 сентября 1986 года . [4] Turbo Pascal 3 поддерживал графику черепахи . [36] В дополнение к программным действительным числам по умолчанию и редакции компилятора 8087, Borland также предложила версию в двоично-десятичном коде (BCD) (TURBOBCD), которая предлагала тот же числовой диапазон, что и действительные типы данных, но до 18 значащих цифр. [4]
Выпущенная 20 ноября 1987 года, [37] версия 4 была полностью переписана, с сильно измененным внешним видом и внутренними операциями. Компилятор генерировал исполняемые файлы в формате .EXE под DOS, а не в более простых, но более ограниченных исполняемых файлах .COM. К тому времени устаревшие версии операционной системы CP/M и CP/M-86 были исключены, когда Turbo Pascal был переписан. Версия 4 представила модули и полноэкранный текстовый пользовательский интерфейс с выпадающими меню; более ранние версии имели текстовый экран меню и отдельный полноэкранный редактор. ( Microsoft Windows была все еще очень экспериментальной, когда была выпущена первая версия, и даже мыши были редкостью.) Дополнительный пакет, Turbo Pascal Graphix Toolbox, был доступен для Turbo Pascal V4. [38]
Цветные дисплеи заменяли монохромные; Turbo Pascal версии 5.0, выпущенный 24 августа 1988 года, [37] представил синий цвет в качестве цвета фона редактора по умолчанию, использовавшийся компиляторами Borland DOS до конца этой линейки продуктов в середине 1990-х годов. Он также добавил поддержку отладчика для точек останова и наблюдения. Более поздние версии выпускались в двух пакетах с одинаковым номером версии: менее дорогой пакет «Turbo» и пакет «Borland» с расширенными возможностями и большим количеством дополнений.
Эта версия, выпущенная 2 мая 1989 года, [37] представила функции объектно-ориентированного программирования для языка Pascal, включая концепцию классов, статических и динамических объектов, конструкторов и деструкторов, а также наследование, которые стали основой для Object Pascal, найденного в Borland Delphi. IDE использует синюю цветовую схему по умолчанию, которая также использовалась в более поздних продуктах Borland Turbo. Другие изменения в IDE включают добавление контекстно-зависимой справки с описанием всех встроенных функций и возможность копировать фрагменты кода из справки в окно редактирования. [39]
Версия 6 была выпущена 23 октября 1990 года. [37] Изменения по сравнению с 5.5 включают: добавление встроенной сборки, добавление библиотеки Turbo Vision , поддержку мыши, буфер обмена для текстовых манипуляций, многодокументный интерфейс, поддерживающий до девяти окон редактирования. [40]
Версия 7 была выпущена 27 октября 1992 года. [37] Изменения по сравнению с версией 6.0 включают поддержку создания исполняемых файлов DOS и Windows, а также библиотек DLL Windows, а также подсветку синтаксиса. [41]
Были выпущены две версии под названием "Turbo Pascal for 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 for Windows .
Обе версии создавали программы, совместимые с Windows, и имели IDE на базе Windows, в отличие от IDE на базе DOS в Turbo Pascal. IDE и команды редактора соответствовали рекомендациям по пользовательскому интерфейсу Microsoft Windows вместо классического пользовательского интерфейса TP. Поддержка программ Windows требовала Object Windows Library (OWL), похожую, но не идентичную той, что была в первом выпуске Borland C++ , и радикально отличающуюся от более ранней среды DOS Turbo Vision . Turbo Pascal был заменен для платформы Windows на Delphi ; компилятор Delphi может создавать консольные программы и приложения с графическим пользовательским интерфейсом (GUI), так что использование Turbo и Borland Pascal стало ненужным.
Borland выпустила Turbo Pascal для Macintosh в 1986 году. [42] [43] Как и версии 1–3 для других операционных систем, он был написан на компактном языке ассемблера и имел очень мощную IDE, но не имел хорошего отладчика. Borland не очень хорошо поддерживала этот продукт, хотя выпустила версию 1.1, пропатченную для работы на 32-битном Macintosh II . Поддержка Macintosh вскоре была прекращена. [ необходима цитата ]
Borland выпустила несколько версий Turbo Pascal как бесплатное программное обеспечение после того, как они стали «устаревшим программным обеспечением», [44] с 1.0 для DOS 1 февраля 2000 года, 3.02 10 февраля 2000 года, 5.5 21 февраля 2002 года, Turbo Pascal 7.01 французская версия в 2000 году. [45] Большинство загрузок по-прежнему доступны на сайте-преемнике Embarcadero Technologies . [3] [4] [5]
Borland дебютировала в отрасли с большим размахом, выпустив Turbo Pascal в ноябре 1983 года. Turbo Pascal был портом на DOS и CP/M COMPAS Pascal Андерса Хейлсберга, и он был выпущен Borland по цене, которая казалась удивительной в то время: 49,95 долларов, примерно в десятую часть цены сопоставимых продуктов.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка )Веб-страница, на которой обсуждается причина ошибки и различные решения.Примечание для международных пользователей: эта бесплатная версия Turbo Pascal 7 доступна только на французском языке. Версия Turbo Pascal 7 для США пока недоступна для бесплатной загрузки. Для версии для США загрузите Turbo Pascal 5.5 US ниже. Спасибо.