Исторически сложилось так, что турбо-паскаль для персональных компьютеров считается развитием
Обновлено: 21.11.2024
caption = Начальный экран Turbo Pascal 4.0 (1987).
разработчик = Borland
выпущено =
последняя_версия_выпуска =
дата_последнего_выпуска =
последняя_предварительная_версия =
дата_последнего_предварительного_просмотра =
операционная_система = CP/M , CP/M -86, MS-DOS,
Windows 3.x, Macintosh,
платформа = x86,
язык =
статус =
жанр = интегрированная среда разработки,
source_model = Закрытый исходный код
лицензия =
веб-сайт =
Turbo Pascal – это полная система разработки программного обеспечения, включающая компилятор и интегрированную среду разработки (IDE) для языка программирования Pascal, работающего под управлением CP/M, CP/M-86 и MS-DOS, разработанная Borland под руководством Филиппа. руководство Кана. Название Borland Pascal обычно предназначалось для высокопроизводительных пакетов (с большим количеством библиотек и исходным кодом стандартной библиотеки), в то время как исходная дешевая и широко известная версия продавалась как Turbo Pascal. Название Borland Pascal также используется в более общем смысле для диалекта языка Pascal, принадлежащего Borland.
Borland бесплатно выпустила три версии Turbo Pascal, представляющие исторический интерес: версии 1.0, 3.02 и 5.5 для MS-DOS.
Мотивация и освобождение
Филипп Кан впервые увидел возможность для Borland, своей недавно созданной компании по разработке программного обеспечения, в области инструментов программирования. Исторически сложилось так, что подавляющее большинство программистов рассматривали свой рабочий процесс с точки зрения цикла редактирования/компиляции/компоновки с отдельными инструментами, предназначенными для каждой задачи. Программисты писали исходный код и вводили его с помощью текстового редактора, компилятор создавал объектный код из исходного кода (часто требуя нескольких проходов), а компоновщик объединял объектный код с библиотеками времени выполнения для создания исполняемой программы.
На рынке IBM PC в начале 1980-х основными поставщиками инструментов программирования были IBM , Microsoft и Lattice. Все они сделали компиляторы C (а некоторые сделали компиляторы Pascal), которые работали одинаково. Например, система Microsoft Pascal состояла из двух проходов компилятора и заключительного прохода компоновки (который мог занять несколько минут в системах с гибкими дисками в качестве вторичного хранилища). Этот процесс был громоздким продуктом крайне ограниченных ресурсов ранних моделей IBM PC. Поставщики средств разработки программного обеспечения нацеливали свои продукты на профессиональных разработчиков, и цена на эти базовые инструменты плюс дополнительные инструменты, такие как профилировщики, исчислялась сотнями долларов.
Идея Кана заключалась в том, чтобы интегрировать эти отдельные функции в набор инструментов для программирования, чтобы он работал с гораздо большей производительностью и брал за все это одну низкую цену. Вместо того, чтобы продавать набор через установленные каналы продаж (розничные продавцы или торговые посредники), его новый инструмент будет недорого продаваться по почте. Turbo Pascal обычно считается первой популярной интегрированной средой разработки (IDE) любого типа.
В качестве дополнительного преимущества по сравнению с более крупными поставщиками диски Turbo Pascal поставлялись без какой-либо защиты от копирования. Turbo Pascal поставлялся со знаменитой «Книжной лицензией»: «Вы должны обращаться с этим программным обеспечением «точно так же, как с книгой». Может использоваться любым количеством людей. Может свободно перемещаться с одного компьютера на другой». Поскольку в первых версиях не было интерактивной справки, защита от копирования была эффективно обеспечена наличием справочного руководства по Turbo Pascal (см. рисунок ниже).
История версий
Компилятор Turbo Pascal основан на компиляторе Blue Label Pascal, изначально созданном для кассетной операционной системы NasSys микрокомпьютера Nascom в 1981 году Андерсом Хейлсбергом. Сначала он был переписан как компилятор Compas Pascal для операционной системы CP/M, а затем как компилятор Turbo Pascal для DOS и CP/M. Версия Turbo Pascal была доступна для Apple Macintosh примерно с 1986 года, но в конечном итоге была прекращена примерно в 1992 году. Другая версия была доступна для машин CP/M, таких как DEC Rainbow, в нескольких выпусках.
Версии с 1 по 3
Первая версия Turbo Pascal, позже названная версией 1, была очень быстрой по сравнению с другими компиляторами Pascal для микрокомпьютеров. Он был доступен для операционных систем CP/M, CP/M-86 и MS-DOS, широко используемых в то время. Версию CP/M можно было использовать на очень популярном компьютере Apple II, если он был оснащен Z-80 SoftCard — первым аппаратным продуктом небольшой компании Microsoft, выпущенным в 1980 году.
Когда 20 ноября 1983 года появилась первая версия Turbo Pascal, тип используемой IDE был относительно новым. При дебюте на американском рынке Turbo Pascal продавался по цене 49,99 долларов США. Интегрированный компилятор Pascal также был очень хорошего качества по сравнению с другими продуктами Pascal того времени и, прежде всего, был доступен по цене. Название «Turbo» указывает на скорость его компиляции, а также на скорость создаваемых им исполняемых файлов.Скорость этих исполняемых файлов «com» стала откровением для разработчиков, чей предыдущий опыт программирования микрокомпьютеров состоял только в интерпретируемом BASIC или полуинтерпретируемом и более громоздком UCSD Pascal.
Среда IDE была невероятной для своего времени, когда вычислительные ресурсы были очень ограничены. IBM PC и другие машины часто продавались с 64 КБ ОЗУ; IBM PC можно было расширить до 640 КБ. Использовались многие машины, оснащенные только одним или двумя дисководами гибких дисков емкостью 140–360 килобайт; жесткий диск на 5 или 10 мегабайт был роскошью. Turbo Pascal был простым и интуитивно понятным и имел хорошо организованную систему меню. В ранних версиях редактора использовались ключевые функции WordStar, что было стандартом «де-факто» из-за широкого использования WordStar. Более поздние версии IDE, предназначенные для более поздних ПК с большим объемом дискового пространства и памяти, могли отображать определения ключевых слов языка, наводя курсор на ключевое слово и нажимая клавишу F1. Определения также часто включали пример кода, в котором использовалось ключевое слово. Это позволило неопытному программисту выучить Pascal, просто используя IDE, без помощи книги.
Более поздние версии
В версии 5.x появился знакомый синий экран Borland, который был торговой маркой инструментов компании для компиляции MS-DOS до конца этой линейки в середине 1990-х годов.
Хотя все версии Turbo Pascal могли включать встроенный ассемблерный код, более поздние версии имели возможность легко интегрировать язык ассемблера в Pascal. Ассемблерный код обеспечивает наименьший человеко-читаемый интерфейс для машины и обеспечивает более быстрое выполнение, чем может быть сгенерировано компилятором, с доступом к машине на очень детальном уровне. Общее выполнение программы можно было бы улучшить, закодировав часто выполняемый код внутреннего цикла таким образом.
Среда IDE позволяла выполнять пошаговую проверку связи с программой для отладки, а теперь блоки на языке ассемблера можно было выполнять пошагово. Пользователь может добавлять наблюдения за переменными и регистрами в окне IDE. Программы, использующие графический режим IBM PC, могли переключаться между графическим и текстовым режимами автоматически или вручную.
Среда разработки теперь включает профилировщик кода, который может сообщать, какие части программы используют больше всего времени. В книгах, прилагаемых к Borland Pascal, содержится подробное описание языка ассемблера Intel, вплоть до указания тактов, необходимых для каждой инструкции. В целом эта система в целом обеспечивает относительно приятный опыт отладки и оптимизации кода; пользователю никогда не приходилось покидать IDE.
Единицы
За прошедшие годы Borland улучшила не только IDE, но и язык программирования. Диалект Pascal от Borland стал отраслевым стандартом де-факто (и до сих пор используется в современных вариантах, таких как Free Pascal), поскольку стандарт ISO Pascal оказался неадекватным для разработки реальных приложений.
Начиная с версии 4.0 в язык введено понятие "Единицы". Модули использовались как библиотеки внешних функций, подобно объектным файлам, используемым в других языках, таких как C, но немного более высокого уровня (программист мог определить, что будет видно вне модуля, а что нет).
Объектно-ориентированное программирование
Начиная с версии 5.5 и далее были введены некоторые возможности объектно-ориентированного программирования: классы (это не следует путать с "объектами", потому что "классы" становятся объектами только тогда, когда они инстанцируются/создаются), наследование, а также конструкторы и деструкторы. IDE уже была дополнена интерфейсом обозревателя объектов, показывающим отношения между объектами и методами и позволяющим программисту легко перемещаться по модулям. Некоторые люди называют эти расширения "Object Pascal", хотя это чаще используется как название языка, лежащего в основе Delphi (в котором есть две совершенно разные системы ООП).
Turbo Pascal 7 и Borland Pascal 7
Последней выпущенной версией была версия 7. Borland Pascal 7 содержал IDE и компиляторы для создания программ DOS, расширенных программ DOS и Windows 3.x. С другой стороны, Turbo Pascal 7 мог создавать только стандартные программы DOS. У него также был графический API (модуль Graph), который поддерживал несколько внешних драйверов (файлы BGI — сокращение от графического интерфейса Borland) и предоставлял механизм для связывания этих драйверов с EXE, но, поскольку он был довольно медленным и вызывал неприятное мерцание, взаимозаменяемые использовались визуальные страницы, что приводило к переполнению видеопамяти. Некоторые сторонние драйверы, такие как драйверы SVGA, были созданы фанатами, но они никогда не пользовались большой популярностью, поскольку в то время на подходе были инструменты следующего поколения, такие как Delphi.
Версии Windows
Были выпущены две версии Turbo Pascal для Windows 3.x: Turbo Pascal для Windows 1.0 (основанная на Turbo Pascal 6, но выпущенная примерно через 2 года) и 1.5 (выпущенная после Turbo Pascal 7).Компилятор Windows, включенный в Borland Pascal 7, назывался «Borland Pascal for Windows», но предположительно был основан на той же кодовой базе, что и TPW 1.5.
Все версии создавали программы, совместимые с Windows, и имели интегрированную среду разработки на основе Windows, в отличие от текстовой среды разработки на основе DOS в Turbo Pascal. Команды IDE и редактора соответствовали рекомендациям по пользовательскому интерфейсу Microsoft Windows, а не классическому пользовательскому интерфейсу TP. Поддержка программ Windows требовала использования библиотеки ObjectWindows, аналогичной, но не идентичной первому выпуску Borland C++, и радикально отличающейся от более ранней среды DOS Turbo Vision. Turbo Pascal был по существу устаревшим для платформы Windows с выпуском Delphi. Компилятор Delphi можно использовать для создания программ командной строки, поэтому использование Turbo и Borland Pascal стало ненужным.
Версия для Apple Macintosh
Borland выпустила "Turbo Pascal для Macintosh" в 1985 году. Как и версии с 1 по 3 для других операционных систем, он был написан на компактном языке ассемблера и имел очень мощную IDE, но не очень хороший отладчик. Borland не очень хорошо поддерживала этот продукт, хотя и выпустила версию 1.1, исправленную для работы на 32-битном Macintosh II. Вскоре после этого поддержка Macintosh была прекращена.
преемники
К 1995 году Borland отказалась от Turbo Pascal и заменила его средой RAD Delphi, которая включала язык Object Pascal. Собственные 32-разрядные версии Delphi по-прежнему поддерживают более переносимые расширения Pascal (т. е. те, которые не ориентированы на 16 разрядов) более ранних продуктов, включая более раннюю статическую объектную модель.
Также существует несколько совместимых с 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) и легально доступны для бесплатной загрузки.
Проблема с блоком ЭЛТ на быстрых процессорах
Несколько версий Turbo Pascal, включая последнюю версию 7, включают модуль ЭЛТ, используемый многими приложениями полноэкранного текстового режима. Этот модуль содержит код в разделе инициализации для определения скорости процессора для калибровки контуров задержки. Этот код дает сбой на процессорах с частотой более 200 МГц и прерывается сразу после загрузки программы с ошибкой времени выполнения 200. Это вызвано использованием счетчика для подсчета количества раз, которое цикл может быть выполнен за фиксированное время, измеряемое часы реального времени. Когда был разработан Turbo Pascal, он работал на машинах с процессорами, работающими на частоте от 1 до 8 МГц, и не задумывались о возможности гораздо более высоких скоростей; но на частоте 200 МГц 16-битный счетчик переполняется. Из-за увеличения скорости процессора потребовалось несколько исправлений.
Программы, скомпилированные с этой ошибкой, можно исправить с помощью инструмента TPPATCH или его эквивалента или путем загрузки резидентной программы Terminate and Stay, загруженной перед запуском неисправной программы.
Во многих случаях программы MS-DOS, которые, как известно, не были скомпилированы с помощью Turbo Pascal, завершаются с ошибкой "Ошибка выполнения 200"; указанный выше патч стоит попробовать.
Для запуска компиляторов Turbo и Borland Pascal на быстрой машине версия TURBO.TPL с исправленным модулем CRT для устранения ошибки может использоваться для создания программ, совместимых с быстрыми машинами. См. ссылки ниже.
Графика
Turbo Pascal использует графический интерфейс Borland.
пример кода
Примечания:
* Исторически комментарии Pascal обозначались < как это > или (* как это *) , но более поздние версии Borland Pascal также поддерживали комментарии в стиле C++ // как это .
* В строке используется crt; является специальным расширением Borland для Pascal.
* Pascal от Borland не чувствителен к регистру.
*Эта простая программа выводит на экран слова "Hello World".
начать WriteLn('Hello World');конец.
*Это запрашивает имя человека и печатает его на экране.
Имя переменной: Строка;
begin Write('Пожалуйста, назовите свое имя: '); Читать(Имя); < Readln читает строку, напечатанную на экране >WriteLn('Hello ', Name)end.
ее также
* Free Pascal
* Virtual Pascal
* язык программирования Pascal
* язык программирования Delphi
* графический интерфейс Borland
Ссылки
Внешние ссылки
Фонд Викимедиа . 2010 .
Посмотрите в других словарях:
Turbo Pascal — это интегратор Entwicklungsumgebung фирмы Borland для Programmiersprache Pascal. Inhaltsverzeichnis 1 Geschichte 1.1 Turbo Pascal 1.0 1.2 Folgeversionen … Deutsch Wikipedia
Turbo-Pascal — это интегрированный Entwicklungsumgebung фирмы Borland для Programmiersprache Pascal. Inhaltsverzeichnis 1 Die Anfänge 2 Turbo Pascal 1.0 3 Folgeversionen 4 Ausschnitt der Anweisungen … Deutsch Wikipedia
Turbo Pascal — Turbo Pascal, 1984 г., выпущенный Borland на рыночном рынке Version der Programmiersprache Pascal, родной компилятор, интегрированный в Entwicklungsumgebung enthielt. Erst mit Turbo Pascal wurde Pascal zu einer der meistverbreiteten… … Universal-Lexikon
Turbo Pascal — либо Borland Pascal, либо среда IDE, использующая среду MS DOS в качестве основной программы на Pascal. Su creador es la empresa Borland, que ahora se dedica al entorno grafico con su IDE Delphi. Su primera version es de 1983. A partir de la version 5.5,… … Enciclopedia Universal
Турбо Паскаль — У этого термина сочетания и значения другие, см. Турбо. Turbo Pascal Среда разработки Turbo Pascal 7.1 Тип … Википедия
Turbo Pascal — это артикул или раздел, требующий справок, которые можно найти в официальном издании, как специальные обзоры, монографии, предварительные дневники или страницы в Интернете. Puedes añadirlas así o avisar al autor … Wikipedia Español
Turbo Pascal — компилятор языка программирования PASCAL, разработанный компанией Borland … Современный словарь английского языка
Pascal (язык программирования) — Pascal Парадигма(ы) императивная, структурированная. Появилась в 1970 году. Разработана Никлаусом Виртом.
PASCAL — Paradigmen: imperativ, strukturiert Erscheinungsjahr: 1972 Entwickler: Niklaus Wirth Dialekte: UCSD Pascal … Немецкая Википедия
Pascal вырос из ALGOL, языка программирования, предназначенного для научных вычислений. На встрече в Цюрихе международный комитет разработал ALGOL как независимый от платформы язык. Это дало им сравнительно полную свободу действий в отношении функций, которые они могли внедрить в ALGOL, но также усложнило написание для него компиляторов. Это были дни, когда многим компьютерам не хватало аппаратных функций, которые мы сейчас воспринимаем как должное. Отсутствие компиляторов на многих платформах в сочетании с отсутствием указателей и многих основных типов данных, таких как символы, привело к тому, что ALGOL не получил широкого распространения. Ученые и инженеры стекались к FORTRAN, языку программирования, который был доступен на многих платформах. АЛГОЛ в основном исчез, за исключением языка описания алгоритмов.
Вирт изобретает Паскаль
В 1960-х годах несколько ученых-компьютерщиков работали над расширением Алгола. Одним из них был доктор Никлаус Вирт из Швейцарского федерального технологического института (ETH-Цюрих), член первоначальной группы, создавшей ALGOL. В 1971 году он опубликовал свою спецификацию высокоструктурированного языка, который во многом напоминал АЛГОЛ. Он назвал его Паскаль в честь французского философа и математика XVII века, создавшего рабочий механический цифровой компьютер.
Pascal очень ориентирован на работу с данными, что дает программисту возможность определять пользовательские типы данных. С этой свободой приходит строгая проверка типов, которая предотвращает смешение типов данных. Паскаль был задуман как учебный язык и получил широкое распространение как таковой. Паскаль является свободным, в отличие от FORTRAN, и читается очень похоже на естественный язык, что упрощает понимание кода, написанного на нем.
Паскаль UCSD
Одной из причин, погубивших ALGOL, была сложность создания для него компилятора. Доктор Вирт избежал этого, заставив компилятор Pascal компилироваться в промежуточную, независимую от платформы стадию объектного кода. Другая программа превратила этот промежуточный код в исполняемый код.
Проф. Кен Боулз из Калифорнийского университета в Сан-Диего (UCSD) воспользовался этой возможностью, чтобы адаптировать компилятор Pascal к Apple II, самому популярному микрокомпьютеру того времени. UCSD P-System стала стандартом и широко использовалась в университетах. Этому способствовала низкая стоимость Apple II по сравнению с мейнфреймами, которые в то время были необходимы для запуска других языков, таких как FORTRAN. Его влияние на вычислительную технику можно увидеть в рекламе IBM революционного персонального компьютера, который хвастался тем, что ПК поддерживает три операционные системы: CP/M-86 от Digital Research, UCSD P-system от Softech и PC-DOS от MicroSoft.
Pascal становится стандартным
К началу 1980-х Паскаль уже получил широкое признание в университетах. Два события объединились, чтобы сделать его еще более популярным.
Во-первых, Educational Testing Service, компания, которая разрабатывает и проводит основные вступительные экзамены в колледжи в США, решила добавить экзамен по информатике к своим экзаменам Advanced Placement для старшеклассников. Для этого экзамена был выбран язык Pascal. Из-за этого Паскаль стали изучать как школьники, так и студенты колледжей. Pascal оставался официальным языком экзаменов AP до 1999 года, когда его заменили на C++, который быстро заменили на Java.
Turbo Pascal был поистине революционным. Он сделал несколько сокращений и внес некоторые изменения в стандартный Pascal, но они были незначительными и помогли ему достичь своего главного преимущества: скорости. Turbo Pascal компилируется с головокружительной скоростью: несколько тысяч строк в минуту. В то время доступные компиляторы для платформы ПК были медленными и раздутыми. Когда вышел Turbo Pascal, это был глоток свежего воздуха. Вскоре Turbo Pascal стал стандартом де-факто для программирования на ПК. Когда PC Magazine публиковал исходный код служебных программ, он обычно был либо на ассемблере, либо на Turbo Pascal.
В то же время Apple выпустила серию компьютеров Macintosh. Поскольку Pascal был выдающимся языком структурированного программирования того времени, Apple выбрала Pascal в качестве стандартного языка программирования для Mac. Когда программисты получили API и пример кода для программирования на Mac, все это было на Паскале.
Расширения
С версии Turbo Pascal от 1.0 до 7.0 компания Borland продолжала расширять язык. Одним из критических замечаний к исходной версии Паскаля было отсутствие отдельной компиляции модулей. Доктор Вирт даже создал новый язык программирования, Модула-2, для решения этой проблемы. Borland добавила в Pascal модули с функцией единиц измерения.
В версии 7.0 было добавлено множество расширенных функций. Одним из них был DPMI (интерфейс защищенного режима DOS), способ запуска программ DOS в защищенном режиме, позволяющий получить дополнительную скорость и преодолеть барьер в 640 КБ для доступа к памяти в DOS. Turbo Vision, текстовая оконная система, позволила программистам создавать великолепно выглядящие интерфейсы практически в кратчайшие сроки. Паскаль даже стал объектно-ориентированным, поскольку версия 5.5 приняла расширения Apple Object Pascal. Когда вышла Windows 3.0, Borland создала Turbo Pascal для Windows, привнеся скорость и простоту Pascal в графический интерфейс пользователя. Казалось, что будущее Паскаля обеспечено.
Мир меняется
Однако этого не произошло. В 1970-х Деннис Ритчи и Брайан Керниган из AT&T Bell Laboratories создали язык программирования C. Затем Ричи вместе с Кеном Томпсоном разработал операционную систему UNIX. В то время у AT&T была санкционированная правительством монополия на телефонную связь в Соединенных Штатах. В обмен на монополию ее телефонный бизнес регулировался, и ей запрещалось заниматься компьютерным бизнесом. AT&T, не видя рынка для исследовательской операционной системы, бесплатно раздавала UNIX университетам вместе с исходным кодом.
Таким образом, целое поколение студентов, изучающих компьютерные науки, изучало C на своих университетских курсах по языкам и операционным системам. Медленно, но верно C начал проникать в мир компьютерного программирования.
В конце концов Паскаль был убит объектной ориентацией и переходом на Windows на стандартной платформе ПК. В 1980-х Бьерн Страустроп, также работавший в Bell Labs, популяризировал объектно-ориентированный подход, разработав C++, который сохранил знакомый синтаксис C, но расширил его для объектно-ориентированного подхода. C++ определил объектную ориентацию для целого поколения программистов и остается сильной силой даже сегодня.
Также в 1980-х годах Microsoft Windows приняла C в качестве стандартного языка программирования. В отличие от MacOS и Pascal, все образцы Windows API были написаны на языке K&R (до ANSI) C со списками переменных после прототипа функции. Когда объектная ориентация и Windows утвердились, естественным языком для приложений, переносимых в Windows, стал C++.
Многие колледжи и университеты отказались от Pascal, выбрав для своих курсов программирования C++ или более новые языки. Наконец, экзамен AP был перенесен на C++, что положило конец господству Паскаля в американских средних школах.
Так зачем учить Pascal?
Несмотря на исчезновение стандарта де-факто, Pascal по-прежнему весьма полезен. C и C++ очень символические языки. Там, где Паскаль выбирает слова (например, начало-конец), C/C++ вместо этого использует символы (->). Кроме того, C был разработан для системного программирования. В Паскале смешивание типов приводит к ошибке и делается очень редко. В C/C++ широко распространены приведение типов и арифметика указателей, что упрощает сбой программы и запись при переполнении буфера. Когда экзамен AP перешел на C++, была принята только часть C++. Многие функции, такие как массивы, считались слишком опасными для учащихся, и ETS предоставила собственную «безопасную» версию этих функций.
Еще одна причина: скорость и размер.Компилятор Borland Pascal по-прежнему работает молниеносно. Borland обновила Pascal для Windows с помощью Delphi, среды быстрой разработки приложений. Вместо того, чтобы тратить несколько часов на написание пользовательского интерфейса для программы Windows на C/C++, вы можете сделать это за десять минут с помощью инструментов графического дизайна Delphi. Delphi для Pascal — это то же самое, что Visual BASIC сделал для BASIC. Borland все еще разрабатывает Delphi, а сообщество разработчиков открытого исходного кода создало в значительной степени совместимый с Borland компилятор под названием Free Pascal.
Кроме того, Pascal по-прежнему предпочитают во многих университетах, особенно в тех областях, где учащиеся впервые знакомятся с компьютерами в школе, а не дома. Кроме того, Паскаль хорошо подходил для обучения программированию и остается таковым. У студента меньше накладных расходов и меньше способов создать проблемы в программе. Паскаль остается хорошим выбором для обучения простому процедурному программированию. Паскаль дольше оставался в сфере образования за пределами Соединенных Штатов и остается официальным языком Международной олимпиады по информатике. Базовый опыт программирования полезен во многих технических профессиях, и накладные расходы на изучение объектно-ориентированного языка не обязательно являются лучшим применением ресурсов.
Таким образом, даже после того, как C, C++ и Java захватили мир программирования, Pascal сохраняет свою нишу на рынке. Многие небольшие бесплатные и условно-бесплатные программы, а также программы с открытым исходным кодом написаны на Pascal/Delphi. Так что наслаждайтесь изучением этого, пока он длится. Это отличное введение в компьютерное программирование. Он не страшный, как C, не опасный, как C++, и не абстрактный, как Java. Еще через двадцать лет вы будете одним из немногих программистов, знающих и ценящих Pascal.
Несмотря на то, что eWEEK празднует свое 30 летие, Turbo Pascal от Borland International, основополагающая работа в области эволюции средств разработки программного обеспечения, в ноябре 2013 года будет отмечать свое 30 летие.
С любовью отзываясь о «старых добрых временах», в ответ на просьбу прокомментировать программирование в 80-х создатель Turbo Pascal Андерс Хейлсберг сказал eWEEK, что по иронии судьбы он только что подумал о том, как ноябрь будет отмечать 30-летие Turbo Pascal как первой действительно интегрированной среды разработки (IDE). «Страшно, как давно это было», — сказал он.
Turbo Pascal и другие ранние инструменты разработки для ПК помогли демократизировать разработку программного обеспечения. Магия Turbo Pascal заключалась в том, что он объединил редактор, отладчик и компилятор в один инструмент, что упростило работу разработчиков.
"80-е годы были веселым временем – началом демократизации вычислительной техники, которой мы все жили последние 30 лет", – сказал Хейлсберг. «Производительность, мощность, надежность или любые другие показатели машин в то время были ужасными. А инструменты разработки — если их вообще можно было так назвать — еще хуже.
«Но, конечно, все это было лучше, чем ничто, которое этому предшествовало. Интерпретаторы BASIC того времени были довольно просты в использовании, но программы работали очень медленно. Были доступны некоторые компиляторы C и Pascal, но построчные редакторы и сверхмедленная скорость компиляции, требующая переключения дискет между проходами компилятора, были просто безумно болезненными», — сказал он.
«Цикл редактирование-компиляция-отладка лучше всего можно охарактеризовать как ледяной. Существовала реальная потребность в опыте разработки, сочетающем производительность с эффективным кодом», — сказал Хейлсберг.
Первые ПК позволили любителям и начинающим разработчикам попробовать свои силы в написании приложений на языке BASIC. Но по мере того, как предприятия начали развертывать ПК в больших количествах, профессиональные разработчики начали искать инструменты ПК для написания приложений практически на всех мыслимых языках, включая Pascal, FORTRAN, COBOL, C, C++ и другие.
Microsoft начала продавать интерпретаторы BASIC для персональных компьютеров, и инструменты разработки продолжали становиться важной частью ее бизнеса. Другие компании, такие как Borland, появились на сцене в 1980-х годах и также разбогатели на инструментах разработки.
Turbo Pascal включает компилятор и интегрированную среду разработки для языка программирования Pascal, работающего на CP/M, CP/M-86 и DOS, разработанные Borland под руководством соучредителя и генерального директора Филиппа Кана. Кан увидел возможность в мире инструментов разработки, где программисты рассматривали свой рабочий процесс с точки зрения цикла редактирования/компиляции/связывания с отдельными инструментами, предназначенными для каждой задачи.
Программисты писали исходный код и вводили его с помощью текстового редактора, затем компилятор создавал объектный код из исходного кода (часто требуя нескольких проходов), а затем переходил к компоновщику, который комбинировал объектный код с библиотеками времени выполнения для создания исполняемой программы. р>
Идея Кана заключалась в том, чтобы упаковать все эти функции в интегрированный набор инструментов для программирования, чтобы он работал с гораздо большей производительностью и брал за все это одну низкую цену. Вместо того, чтобы продавать набор через установленные каналы продаж, такие как розничные торговцы или торговые посредники, его новый инструмент будет недорого продаваться по почте.Продукт был продан за 49,95 долларов США.
«Я сам разработчик, и мне нужен инструмент, который сделает мою работу более продуктивной», — сказал Кан eWEEK. «Я работал над интегрированными средами разработки, будучи студентом Никлауса Вирта в ETH [Eidgenössische Technische Hochschule] в Цюрихе. Я очень благодарен Никлаусу за вдохновение.
«Затем нужно было собрать все воедино. Мой партнер написал компилятор, и он был быстрым. Тем не менее, большая часть времени разработки была потрачена на переходы от исходного кода к исполнению. Затем отладка исполняемой программы. Поэтому мы решили, что лучше всего использовать быстрый однопроходный компилятор, поскольку он позволяет нам точно определять ошибки времени выполнения прямо в исходном коде», — сказал Кан.
30 лет назад: Turbo Pascal и BASIC превратили ПК в механизмы программирования
«После того как мы интегрировали всю систему, у нас появился почти мгновенный и непрерывный производственный цикл «Правка -> Компиляция -> Выполнение -> Отладка -> Редактирование». Прирост эффективности был фантастическим. Именно такие инструменты мы создаем сегодня в Fullpower/MotionX для носимых устройств», — сказал Кан.
Действительно, Кан сказал eWEEK, что, по его мнению, «Turbo Pascal был для оригинального IBM PC тем же, чем Xcode для iPhone: быстрой, мощной, эффективной, интерактивной интегрированной системой разработки». Более того, «до Turbo Pascal все профессиональные инструменты, которые генерировали исполняемый код на ПК, были многопроходными компиляторами в стиле командной строки», — сказал он. «Turbo Pascal установил новый стандарт и все изменил».
"Borland сделала инструменты разработчика доступными, продав полноценный редактор/компилятор по невероятно низкой цене", – сказал Майк Сакс, основатель Asigo, компании, занимающейся разработкой программного обеспечения для бухгалтерского учета. «Я считаю, что это было в 10 раз дешевле, чем у ведущих конкурентов. Не менее важно и часто упускается из виду то, что Borland сделала инструменты более доступными, требуя гораздо меньше памяти и дискового пространства, чем другие поставщики, объединив редактор и компилятор в одном невероятно эффективном исполняемом файле. Это были дни, когда компьютеры без жестких дисков были обычным явлением».
Сакс немного знаком с инструментами разработки и ранним рынком программного обеспечения. Он запустил и управлял успешным бизнесом по разработке программного обеспечения в течение многих лет. Sax Software специализируется на создании программных компонентов, помогающих разработчикам быстрее создавать лучшее программное обеспечение.
Компания Borland значительно ускорила цикл разработки, поскольку разработчики могли запускать компилятор и, в конечном итоге, свое приложение непосредственно из редактора, — сказал Сакс. «Во всех других системах вам нужно было отредактировать код, запустить компилятор, перезапустить редактор, если вы допустили опечатку, и запустить приложение», — сказал он.
«При разработке для Windows 1.0 цикл разработки был еще хуже: отредактируйте свой код, выйдите из редактора, запустите компилятор, перезагрузите компьютер (Ctrl+Alt+Delete) в Windows, запустите приложение, выйдите из Windows и перезагрузитесь. снова и запустите редактор», — сказал Сакс.
«Таким образом, инструменты Borland были не просто в 10 раз дешевле; на самом деле они позволяют разрабатывать программное обеспечение в 10 раз быстрее. Более того, программы, написанные на Turbo Pascal, использовали ту же высокооптимизированную среду выполнения, что и сам компилятор/редактор, что приводило к созданию очень маленьких и быстрых приложений (что было крайне важно в то время)».
Как и многие ранние революционные продукты для ПК, Turbo Pascal многими рассматривался как игрушка. Но многие идеи в конечном итоге были воплощены в других продуктах. Например, вскоре после этого Microsoft выпустила QuickBasic, а также визуальный отладчик CodeView, сказал Сакс.
Компилятор Turbo Pascal основан на компиляторе Blue Label Pascal, изначально созданном для кассетной операционной системы NasSys микрокомпьютера Nascom в 1981 году компанией Hejlsberg. Borland лицензировала ядро компилятора Hejlsberg «PolyPascal» и добавила пользовательский интерфейс и редактор. Poly Data — так называлась компания Хейлсберга в Дании. Затем он присоединился к Borland в качестве сотрудника и был архитектором всех версий компилятора Turbo Pascal и первых трех версий Borland Delphi.
"Прежде чем приступить к своему первому компилятору Pascal, я написал интерактивный (WYSIWYG) редактор и символьный ассемблер на ассемблере Z-80 для комплектного британского компьютера под названием NASCOM 2, — объяснил Хейлсберг.
"Мне действительно нравилось писать код на ассемблере, и я обнаружил, что могу быть очень продуктивным и писать очень маленький код. NASCOM поставлялся с 12K Microsoft ROM BASIC, поэтому я решил написать среду 12K Pascal для замены плагина. По словам Хейлсберга, в нем был интерактивный редактор, подмножество компилятора Pascal и библиотека времени выполнения, написанные на ассемблере.
«Очень простой однопроходный компилятор, скомпилированный непосредственно в машинный код в памяти или, для больших программ, в кассетную ленту, которую затем можно было перемотать и перезагрузить позже. Наличие редактора и компилятора в одной интегрированной среде IDE было естественным», — отметил он.
30 лет назад: Turbo Pascal и BASIC превратили ПК в механизмы программирования
"Они оба были частью одного и того же ПЗУ, и без них система не имела бы смысла", – сказал Хейлсберг. «Эта реализация подмножества 12K Pascal превратилась в более полную реализацию для CP/M-80, а затем в сотрудничестве с первоначальными основателями Borland превратилась в продукт под названием Turbo Pascal».
По словам Сакс, другим продуктом, который был не менее революционным, чем Turbo Pascal, был Visual Basic. Компания Cooper Software, возглавляемая Аланом Купером, известным как «отец Visual Basic», разработала замену первой оболочки Windows, которую он назвал «Tripod», а затем переименовал в «Ruby». По словам Сакс, вы можете рисовать элементы управления, такие как текстовые поля и кнопки, в окне или форме. Другой разработчик Майк Гири также был частью команды.
В своем сообщении о своем участии в Visual Basic Купер сказал, что начал демонстрировать свой прототип в отрасли. «В марте 1988 года я показал этот прототип Биллу Гейтсу, и он сразу увидел его потенциал, — писал Купер. «Он заявил, что это «круто» и что это окажет значительное влияние на всю их продуктовую линейку. Билл сказал, что хочет ее купить, и в течение следующих нескольких месяцев мы заключили сделку. Поскольку название Tripod было широко известно, мы быстро изменили его на «Ruby». Тем временем я собрал команду опытных программистов для создания программы релизного качества».
Сакс говорит, что Гири разработал дополнительные элементы управления, такие как поля каталогов и папок с файлами, которые теперь являются частью каждого диалогового окна открытия файла. «Я полагаю, что это Билл Гейтс решил, что Ruby должен быть расширяемым с помощью элементов управления, которые изначально не были частью продукта», — сказал он.
«Microsoft купила Ruby у Cooper Software, но Windows Shell так и не заменили. Однако разработчики QuickBasic решили объединить свой компилятор p-кода с Ruby и создали Visual Basic», — сказал Сакс.
«Когда появился Visual Basic, он произвел революцию в программировании для Windows, сделав его экономически эффективным (с точки зрения времени разработки) и выполнимым (с точки зрения кривой обучения) для людей, чтобы писать бизнес-приложения для Windows», — сказал Сакс. «Это также породило совершенно новую индустрию инструментов разработки, которую отстаивает Том Баттон из Microsoft».
И все началось с BASIC. Microsoft BASIC был базовым продуктом Microsoft. Впервые он появился в 1975 году как Altair BASIC, который был первым BASIC от Microsoft и первым языком программирования высокого уровня, доступным для микрокомпьютера Altair 8800. Интерпретатор Altair BASIC был разработан основателями Microsoft Полом Алленом и Биллом Гейтсом с помощью Monte Davidoff с использованием самодельного программного симулятора Intel 8080, работающего на миникомпьютере Digital Equipment Corp. PDP-10.
Ранняя индустрия инструментов для разработки программного обеспечения была невероятно кровосмесительной. Сначала Купер работал с Гордоном Юбэнксом над разработкой, отладкой, документированием и публикацией своего языка бизнес-программирования CBASIC, одного из первых конкурентов Microsoft BASIC Гейтса и Аллена.
Позже Юбэнкс стал генеральным директором Symantec. В свое время Symantec также была известна своими инструментами разработки, в частности пакетами THINK Pascal, THINK C, Symantec C++ и Visual Cafe, которые были популярны на платформах, совместимых с Macintosh и IBM PC. Эти линейки продуктов появились в результате приобретений, сделанных компанией в конце 1980-х - начале 1990-х годов. Symantec вышла из этого бизнеса в конце 1990-х годов, когда конкуренты, такие как Metrowerks, Microsoft и Borland, получили значительную долю рынка.
В 1992 году Borland подала в суд на бывшего руководителя Borland, ставшего исполнительным директором Symantec, Джина Ванга, генерального директора Symantec Юбэнкса и корпорацию Symantec за незаконное присвоение коммерческих секретов Borland и недобросовестную конкуренцию.
30 лет назад: Turbo Pascal и BASIC превратили ПК в движки для программирования
Ванг, бывший вице-президент Borland, внезапно ушел, чтобы присоединиться к главному конкуренту Symantec. Borland утверждал, что он оставил компрометирующие доказательства планов по краже секретов Borland. Borland также предъявила уголовные обвинения по этому делу, и Вангу и Юбэнксу были предъявлены обвинения. Однако уголовное дело было тихо прекращено, и никто не попал в тюрьму.
В своей книге «В поисках глупости: более 20 лет маркетинговых катастроф в области высоких технологий» Меррилл Р. (Рик) Чепмен сказал: «С самого начала Borland International была Animal House. высоких технологий, группа самопровозглашенных варваров, которые нарушили все правила и получили удовольствие».
Между тем, несмотря на появление IDE, многие воины кода предпочитали и до сих пор предпочитают просто использовать текстовый редактор для создания программного обеспечения. «На протяжении большей части моей ранней карьеры моей мантрой было просто дать мне EMACS и точку опоры, и я переверну мир», — сказал Грэди Буч, один из создателей унифицированного языка моделирования (UML) и главный научный сотрудник отдела разработки программного обеспечения в Исследования IBM.
«EMACS долгое время была для многих основной платформой разработки, потому что ее можно было легко настраивать и она была очень полезной.Но нужно помнить, что природа разработки программного обеспечения в 80-х была совершенно иной, чем сегодня», — заметил Буч.
«Тогда мы только совершали переход от структурированных методов и языков к объектно-ориентированным; мы в основном создавали большие программы, а не маленькие приложения; и подавляющее большинство вещей, которые мы построили, были автономными крепостями, мало взаимодействующими с другими подобными крепостями», — сказал он.
В то время, как отметил Буч, «богатый первобытный бульон, который стал Интернетом, только начинал двигаться от своего скромного происхождения в ЦЕРНе».
Буч, который также является компьютерным историком, сказал: "Нет никаких сомнений в том, что Turbo Pascal изменил правила игры; совокупная функциональность, которую он принес, (для того времени) продвинутый пользовательский интерфейс и, конечно же, его удивительная цена сделали современные IDE доступными в массах. Но помните также, что в то же время у нас был первый общедоступный релиз от Xerox PARC для Smalltalk, который был одновременно языком и средой разработки, а также новым взглядом на программирование», — сказал он.
«Маэстро из Softlab Munich тоже был в дикой природе; хотя в США он малоизвестен, за исключением оборонного сообщества, он сыграл важную роль в истории сред разработки», — напомнил он.
«Кстати, это было время, когда Rational разрабатывала свою среду разработки Ada, которая для нас была как программным, так и аппаратным обеспечением — R1000… потому что еще не было компьютеров, достаточно мощных для запуска нашей IDE. .”
Каждая эпоха вычислительной техники имеет свои нюансы, когда дело доходит до разработки. 80-е и начало 90-х ничем не отличались.
"В то время написание программного обеспечения было настоящим ремеслом", – сказал Хейлсберг. «Чтобы получить максимальную эффективность, вам приходилось писать код на ассемблере. Но не только это. Чтобы втиснуть вашу программу в 64 КБ и оставить место для пользовательских данных, вам пришлось вручную оптимизировать ассемблерный код, повторно использовать стандартные последовательности инструкций, реорганизовать код, чтобы воспользоваться преимуществами инструкций быстрого перехода, сократить сообщения об ошибках, чтобы получить несколько байтов. тут и там.
"Это была забавная головоломка, если вы увлекаетесь такими вещами. Весь исполняемый файл Turbo Pascal 1.0 — редактор, компилятор, библиотека времени выполнения — весил всего 33 КБ, что составляет примерно треть размера сегодняшнего jQuery в уменьшенной форме», — заметил Хейлсберг.
Более того, "производительность разработчиков всегда является ключевым фактором", – сказал Кан. «Так будет всегда. В некотором смысле состояние ПК в 1983 году было похоже на состояние носимых компьютеров сегодня в 2013 году: очередной сдвиг парадигмы, требующий отличных инструментов и решений».
Дэррил К. Тафт освещает инструменты разработки и вопросы, связанные с разработчиками, из своего офиса в Балтиморе. Он имеет более чем 10-летний опыт работы в бизнесе и всегда ищет новые возможности. Тафт является членом Ассоциации вычислительной техники (ACM) и был назван The Middleware Co «одним из самых активных репортеров по промежуточному ПО в мире». У него также есть своя визитная карточка в колоде «Кто есть кто в Enterprise Java».
Новость! Воссоединение UCSD Pascal состоялось 22 октября 2004 г.
Что такое P-система UCSD?
Это портативная операционная система, которая была популярна на заре появления персональных компьютеров, в конце 1970-х и начале 1980-х годов.
Как и современная Java, она была основана на «виртуальной машине» со стандартным набором низкоуровневых инструкций «p-кода», похожих на машинный язык, которые эмулировались на различном оборудовании, включая 6502, 8080, Z-80 и PDP-11. Таким образом, компилятор Pascal, выдающий исполняемые файлы p-кода, мог создать программу, которую можно было бы запустить под P-System на Apple II, Xerox 820 или DEC PDP-11.
Самым популярным языком для P-System был UCSD Pascal. Фактически, сама операционная система P-System была написана на языке UCSD Pascal, благодаря чему всю операционную систему относительно легко переносить между платформами.
Написав интерпретатор p-кода на родном для платформы языке ассемблера, а также несколько минимальных обработок функций операционной системы для файловой системы и взаимодействия с пользователем, вы можете переместить исполняемый файл p-кода из другой системы и запустить его. на новой платформе. Таким образом, p-код, сгенерированный на одном компьютере, можно было использовать для начальной загрузки порта P-System на другой компьютер.
Вирт, Дженсен и Паскаль
Никлаус Вирт впервые разработал язык Pascal примерно в 1969 году, а первая версия была реализована на CDC 6000 в 1970 году. К 1983 году это был стандартный язык ISO.
Проф. Никлаус Вирт
"Европейцы называют его по имени, а американцы - по значению".
Я спросил профессора Вирта, есть ли у него исходный код любого из этих ранних компиляторов Pascal. Сначала он сказал «нет». Позже он нашел старую 7-дорожечную магнитную ленту CDC 6400 с исходным кодом, но мы пока не нашли способа ее прочитать.
Проф.Вирт считает, что именно UCSD Pascal сделал Pascal настоящим. В своей лекции на премию Тьюринга 1985 года «От дизайна языка программирования к конструкции компьютера», опубликованной в Communications of the ACM, февраль 1985, V28 N2, он сказал: «Но Паскаль получил действительно широкое признание только после того, как Кен Боулз в Сан-Диего признал, что P-система вполне могла быть реализована на новых микрокомпьютерах.Его усилия по разработке подходящей среды со встроенными компилятором, файлером, редактором и отладчиком привели к прорыву: Паскаль стал доступен тысячам новых пользователей компьютеров, не отягощенных приобретенными привычками или подавляется стремлением сохранить совместимость с программным обеспечением прошлого."
Компилятор UCSD Pascal происходит от ранних компиляторов Вирта через компилятор P2, адаптированный Урсом Амманном для его докторской диссертации. Адаптация UCSD была сделана под руководством профессора UCSD Кеннета Боулза и других сотрудников, включая Стивена Франклина и Альфреда Борка. Если у вас есть исходный код ранних компиляторов Pascal, я бы хотел его увидеть.
Эта версия Паскаля CDC 6400 не была интерпретатором байт-кода. Это был однопроходный компилятор, который полагался на загрузчик компоновки CDC для разрешения переходов. Связывание CDC было выполнено во время загрузки программы.
Исходный код компилятора Pascal примерно 1973 года
В июле 1997 года Хью Дэвис из Университета Ла Троб в Мельбурне, Австралия, прислал мне исходный код ассемблеру и интерпретатору Pascal компании Jensen & Wirth "pasint.pas" примерно 15 марта. , 1973 г., и "модифицированный шаг 5" компилятора "pcomp.pas" около 20 мая 1974 г. Удерживая нажатой клавишу "Shift", щелкните здесь, чтобы получить его ZIP-файл размером 39 КБ.
Дэвис сказал: "В ожидании, пока высохнет краска в моем офисе, я установил несколько своих старых лент DECsystem-10 на одну из наших систем VMS и восстановил исходный код как для нее, так и для Pascal-S ( часть моего проекта почета так много лет назад :-) Я подозреваю, что эти программы поступили в La Trobe на ленте либо напрямую из ETH, либо из DECUS (это было задолго до того, как у нас появилась внешняя сетевая связь, вероятно, либо в 1974, либо в 1975 году). Мой почетный проект включал в себя обзор современных методов компиляции и полную документацию по компилятору Pascal-S (в основном это компилятор P2 с некоторыми удаленными функциями, но в основном тот же код).Я не могу вспомнить, получил ли я Pascal-S на та же лента или нет - это было давно."
Pascal-S был интерпретатором байт-кода, предназначенным для более быстрой компиляции и отсутствия шага компоновки, чтобы минимизировать время процессора (которое тогда имело долларовую стоимость) для запуска студенческих программ.
Исходный код для UCSD P-System и UCSD Pascal
Я хотел бы получить разрешение от UCSD на распространение исходного кода и исполняемых файлов для архаичных версий UCSD P-System версии II и UCSD Pascal. Они предоставили право на перераспределение группе возрожденцев TI-99, так что я надеюсь.
Я также настроен пессимистично, потому что у людей из отдела лицензирования UCSD перед глазами стоят знаки доллара, и они считают, что должны вымогать деньги у любого, кто хочет получить права на что-то, разработанное университетом, даже если оно настолько старое, что его можно считать недействительным. бесполезный. К счастью, один из создателей P-System считает, что эти архаичные версии явно должны стать общественным достоянием, так что когда-нибудь это может случиться.
Все это усложняется тем фактом, что британская компания Cabot Software продолжает продавать более новые версии P-System по неисключительной лицензии UCSD, хотя в настоящее время они являются единственным лицензиатом. Они продвигают его как альтернативу Java в телевизионных приставках и бытовой технике.
Исходный код версии Terak UCSD Pascal и P-System версии I.3 (август 1977 г.) был загружен на форум CompuServe PDP-11 в июле 1984 г. одним из первых лицензиатов UCSD, Эли Вилнером из Pecan Software, и остается там по сей день - безусловно, один из самых старых файлов на CompuServe. По словам Уилнера, «поскольку этот код был разработан при государственном финансировании, он является общественным достоянием, и университет признал это. Если это все, что вас интересует, то, насколько я понимаю, лицензия вообще не требуется».
Исходники как минимум двух версий (I.3 и I.5) свободно распространялись во времена Терака. Прежде чем коммерческий интерес к нему вырос, UCSD сам скопировал диски с исходным кодом за небольшую плату за обработку. У меня есть копия исходников версии I.5 (сентябрь 1978 г.).
P-система UCSD была разработана в Институте информационных исследований Калифорнийского университета в Сан-Диего под руководством Кеннета Боулза.
Эмулятор P-системы Terak и UCSD
Хотя многие программы Terak использовали специфичные для Terak вызовы языка ассемблера, почти все программы вызывали эти функции с помощью стандартного набора предварительно написанных библиотечных функций, которые можно было легко эмулировать. по функциям, что должно означать, что нам не нужно будет выполнять низкоуровневую аппаратную эмуляцию Terak для запуска почти всех программ.В худшем случае лучшей эмуляцией будет интеграция эмулятора PDP-11 для необычных пользовательских встроенных вызовов языка ассемблера.
В свободное время я начал реализацию дизассемблера и интерпретатора P-System на языке ANSI C. Теоретически, в сочетании с аналогичными эмуляциями библиотечных функций для других платформ, таких как ПК или Apple II, этот интерпретатор мог запускать исполняемые файлы P-System из многих систем. Я надеюсь сделать его расширяемым и настраиваемым, а также запускать его под Windows и X Windows. Прогрессу способствовали несколько родных дизассемблеров Терака.
Если кто-нибудь может указать мне хорошую ссылку на P-коды, используемые в P-системе UCSD версии I.3, I.5 или даже II, я был бы признателен. Одной из таких ссылок может быть копия Western Digital Microengine, аппаратная реализация (на самом деле ЦП), которая понимает p-коды P-System.
Рабочий эмулятор UCSD P-System!
Вот ссылка на исполняемый файл интерпретатора P-кода UCSD для DOS, написанный на Turbo Pascal Лори Бошелл, парнем из Австралии, который также надеется поработать с инструментами P-системы UCSD. Если вы перенесете свои файлы .COD в файл ПК, он будет запускать их с определенной степенью успеха. Щелкните здесь, удерживая нажатой клавишу Shift, чтобы получить ZIP-файл.
Мои инструменты для чтения дисков RT-11 и UCSD P-System
См. выставку Дисковых утилит для описания моих методов переноса образов гибких дисков на другие компьютеры для архивирования и восстановления. Исходный код включен.
Другие ссылки и полезные сведения о UCSD Pascal
UC-Irvine
Существует много информации о P-системе UCSD в Калифорнийском университете в Ирвине среди архивов ранее использовавшихся там компьютерных систем.
P-система и Java
Люди упоминают P-систему UCSD, когда рассказывают о предшественниках переносимых, интерпретируемых виртуальных машин, таких как Java. Теоретически исполняемая программа P-System была переносима между машинами с разными процессорами, потому что программа выражалась не в машинно-зависимом ассемблере, а вместо этого на машинном языке «p-code» виртуального компьютера. Java использует тот же подход для достижения независимости от платформы.
P-System и IBM PC
Большинство Teraks работали под управлением операционной системы UCSD P-System. UCSD P-System была одной из двух других операционных систем, доступных для оригинального IBM PC в 1981 году — другими операционными системами были PC-DOS, также известные как MS-DOS 1.0 и CP/M-86. Цена PC-DOS должна быть ниже, чем у этих альтернатив, а остальное уже история.
P-System и Apple II
Именно UCSD Pascal II мутировал в Apple Pascal и UCSD Pascal IV по разным путям развития. В 1978 году студенты UCSD Ричард Гливс и Марк Аллен использовали UCSD Pascal для разработки интерпретатора 6502, который стал основой для Apple Pascal.
Система P и NCR
Оно Компания NCR когда-то создала компьютер на базе процессора AMD 2901/2910, работающего под управлением UCSD Pascal, на движке, разработанном Джоэлом МакКормаком, выпускником UCSD.
Аппаратное обеспечение для запуска P-кодов
Помимо того, что это представление идеализированного, но несуществующего языка ассемблера, одна из концепций системы P-кода заключалась в том, что она была тесно связана с типом данных, которые генерируется компилятором.
Western Digital, наиболее известная сегодня своими контроллерами жестких дисков, также разработала Microengine, аппаратную реализацию (фактически ЦП), которая понимала p-коды P-системы.
Advanced Computer Design разработала операционную систему для Western Digital Microengine под названием AOS, или Advanced Operating System, которая включала многопоточность и эквивалент DLL и т. д. задолго до многих других персональных операционных систем.
Pascal и C
Pascal и C разрабатывались одновременно в начале 1970-х годов, но по большинству показателей C стал доминирующим языком программирования для приложений для персональных компьютеров и рабочих станций.
Интересным историческим документом, описывающим этот поворотный момент, является статья Брайана В. Кернигана «Почему Pascal не является моим любимым языком программирования» , технический отчет Computing Science 100, AT&T Bell Laboratories, апрель 1981 г.
Борланд Турбо Паскаль
Хотя это и не P-система, она принесла Паскаль в массы и сыграла важную роль в упадке UCSD Pascal. Его интегрированная среда разработки была новой и полезной, а собственный код x86 работал быстрее, чем интерпретируемый Паскаль. Теперь Borland раздает копии Turbo Pascal в своем музее.
Викторина UCSD
Некоторое время у программиста UCSD P-System Роджера Самнера был персонализированный номерной знак Калифорнии «77FILES» после ограничения количества файлов на дискете UCSD P-System.
В какой-то момент в конце 1970-х годов НАСА опубликовало новостной отчет, в котором утверждалось, что некоторые данные, возвращаемые с космического корабля "Вояджер", были потеряны из-за ограничения в 77 файлов.
Первоначальная команда UCSD P-System собиралась каждый год в течение почти двадцати лет на подъемном мосту в Диснейленде в полдень на следующий день после Дня труда.
Возможна запись данных на 0-й блок восьмидюймовой дискеты UCSD P-System. Система викторин использовала этот блок для передачи информации о прохождении/непрохождении на дискетах викторины.
P-машина, описанная в руководстве I.5, на самом деле является P-машиной I.3.
До сих пор не существует электронных копий руководств UCSD P-System. Существуют только бумажные копии. Что-то случилось с одной дискетой, на которой была последняя копия.
Логотип запуска на Terak версии UCSD Pascal "Triton" смоделирован по образцу студенческой парковочной наклейки UCSD 1977 года.
Спасибо Киту Аллану Шиллингтону за большую часть этих интересных фактов. Другие люди, участвовавшие в разработке UCSD P-System, включают доктора Кеннета Боулза, Марка Овергаарда, Роджера Самнера, Джона Ван Зандта, Ричарда Кауфманна, Стивена Томсона, Питера Лоуренса, Джоэла МакКормака, Билла Аткинсона, Джули Эрвин, Джиллиан Экленд, Люсия Беннетт. (теперь Янделл), Роберт Хофкин, Шон Фаннинг, Барри Демчак, К. Ричард Грунски, Брюс Шерман, Джордж Саймонс, Карен Фрейзер, Марк Аллен, Ричард Гливс и Нэнси Лэннинг.
Подробнее об истории UCSD Pascal
Ричард Гливс также связался со мной по поводу истории UCSD Pascal. Он сказал:
"Большое спасибо за вашу работу по документированию истории UCSD Pascal. Единственное, что у меня осталось с тех пор, это 8-дюймовая дискета Terak (марка = Dysan; этикетка диска = "Rich"; содержимое = неизвестный). Я надеюсь, что с моей стороны не будет чересчур заносчиво просить, чтобы мое имя (и особенно имя Марка Аллена) было добавлено в список оригинальных разработчиков UCSD P(ascal).
Марк и я провели лето 1978 года. работая в кампусе UCSD, пишем интерпретатор 6502, который позже стал основой для Apple Pascal (нам платили стандартную студенческую зарплату «младшего программиста» UCSD в размере 5,50 долларов в час). загрузилась система на основе Pascal) на коробке Rockwell.
В конце лета в лаборатории начал появляться Билл Аткинсон, и он тесно сотрудничал с Марком, чтобы запустить эту штуку на Apple II. Позже Билл предложил Марку и мне работу в Купертино, но мы оба отказались, потому что оба хотели остаться в Сан-Диего.
Позже я работал с Барри Демчаком (bdemchak@tpsoft.com) в ACD, чтобы совместная разработка AOS (Advanced Operating System) варианта UCSD Pascal Позже я и некоторые другие типы UCSD перешли в еще более Java-подобный Modula-2, но C ate the marketplace.
Приятно видеть, как Java перерабатывает все старые идеи (включая одну большую, которая так и не вошла в P-систему: когда Барри, Марк и я работали в SofTech Microsystems, и IBM PC только что вышел с DOS в качестве стандарта де-факто, мы долго и упорно пытались убедить руководство SofTech в том, что правильный путь состоит в том, чтобы сделать P-систему переносимой средой программирования, которая работала бы в операционной системе DOS и напрямую доступ к файловой системе DOS. или любая другая хост-система (например, UNIX). Но они не купили ее — они думали, что позиционирование P-системы как конкурирующей операционной системы принесет больше денег».
Загадки USUS
Я хотел бы узнать, что случилось с группой пользователей Pascal, известной как USUS, UCSD p-System System Users Society. В течение многих лет они поддерживали библиотеку гибких дисков Pascal, содержащую исходный код и программы. В сети нет их следов, и, кажется, никто не знает, что с ними случилось. Если вы знаете, пожалуйста, пришлите мне по электронной почте. Я хотел бы рассмотреть возможность сохранения копии их архива для этой веб-страницы. Обновление от 12/99: в компьютерном музее Джефферсона открылась новая выставка библиотеки программного обеспечения USUS.
Если вы озадачены.
Или иным образом ищете информацию о UCSD Pascal, потому что вас попросили изучить, как ваша компания может перейти от какой-то устаревшей и архаичной базы данных P-System к современному компьютеру, я не уверен, что вы пришли к этому. нужное место. Однако многие люди попадают на эту веб-страницу именно по этой причине.
Чтобы ответить на самый распространенный вопрос о восстановлении старых данных из этих программ, скажем, что если у вас есть исходный код Pascal, у вас есть возможность перенести его на более новый Pascal. С исходным кодом у вас есть описание данных, хранящихся в файлах. Компетентный программист должен быть в состоянии написать утилиту для преобразования старых данных в более новый нейтральный формат, который можно было бы импортировать в новую базу данных или приложение. Без источника вам нужно будет декодировать файлы данных. Опять же, программист может восстановить данные, учитывая подробное описание того, что, как вы знаете, хранится в файлах.
Существует даже бесплатная программа, известная как "p2c". Он доступен в виде исходного кода C и легко перекомпилируется для систем Unix и Linux. Благодаря этому вы можете автоматически переводить UCSD Pascal (и другие варианты Pascal) непосредственно в код C.Это не идеальное решение из-за функций, зависящих от языка и машины, таких как экранная графика, определенные типы ввода-вывода и т. д., но оно переводит большую часть кода на C. Благодаря этому вы можете легче выполнять перевод старых файлов данных или старого кода во что-то, что легче адаптировать для современных компьютеров.
Перечень материалов для Pascal
Вот список имеющегося у меня программного обеспечения UCSD Pascal и документации:
Программное обеспечение
UCSD p-System IV.0 r1, версия IBM, около 1982 г. Диски 5 1/4", "STARTUP", "PASCAL", "EXTRAS", "UTILITY" ," "SYSTEM 4", "SYSTEM 2". *
Pecan UCSD Pascal, Pascal Power System, размещенная в DOS, диск 3 1/2 дюйма, 1/2 — LAP/PSYS1.PAS0, IV.2.2 R[1.1]ba, диск 2/2 — LAP/PSYS2-0. Диск 3, "8086 Assembler LAP/ASM-0 IV2.2 R[1.0]B *
Heath Z-80 UCSD p-System, шесть дисков 5 1/4": "SYSTEM 1", "SYSTEM 2», «ZINT», «PASCAL», «UTILS», «Генератор собственного кода NZ84BP». *
Документация
Руководство пользователя UCSD Pascal, внутри "UCSD Development System", Pecan Software, 594 страницы, примерно июнь 1986 г. Для MS-DOS и Amiga.
Руководство пользователя UCSD Pascal, внутри "The Pecan Power System, Pecan Software, 197 страниц, авторское право 1986 г. Для MS-DOS и Amiga. *
The Pascal Handbook UCSD, Рэнди Кларк и Стивен Келер, Prentice-Hall, 356 страниц, авторское право 1982 г. *
The Pascal Handbook, Jacques Tiberghien, Sybex, 473 страницы, авторское право 1981 г.
The BYTE Book of Pascal, Blaise Liffick, ed., BYTE Publications, 333 страницы, авторское право 1979 г.
[СПИСОК НЕПОЛНЫЙ, см. также информацию Terak. ]
Вернуться на главную страницу Музея компьютеров Джефферсона.
Авторское право 2004 г. , Все права защищены. ЭТА СТРАНИЦА ЗАПРЕЩАЕТСЯ ИСПОЛЬЗОВАТЬ ИЛИ ПУБЛИКОВАТЬ В ЛЮБОЙ ФОРМЕ (НАПИСАННОЙ, НА КОМПАКТ-ДИСКЕ И Т. Д.) БЕЗ ЯВНОГО ПИСЬМЕННОГО (ПИСЬМЕННОГО) РАЗРЕШЕНИЯ ОТ ДЖОНА ФОУСТА.
Читайте также: