Главная » Free Pascal » Введение в Free Pascal. Исторический обзор

0

В 1965 г. был объявлен международный конкурс на создание нового алгорит- мического языка — преемника АЛГОЛА-60. В конкурсе принял участие молодой швейцарский ученый Никлаус Вирт (Nicklaus E. Wirth), работавший в то время доцентом Стэндфордского университета. В 1967 г. его проект комиссией был о т- вергнут — победителем оказался АЛГОЛ-68. Но Вирт продолжил работу над своим замыслом и, вернувшись в Швейцарию, вместе с коллегами из Федераль- ного института технологии (ETH, Цюрих) разработал новую версию языка, на- званную в честь известного французского инженера Блеза Паскаля — создателя одного  из  первых  механических  калькуляторов.  В  1970  г.  под  руководством

Н. Вирта был разработан первый транслятор с языка Паскаль, а в 1971 г. появи- лась первая публикация — техническая документация для пользователей новой системы программирования. Гораздо более известная публикация — совместная книга Никлауса Вирта и его помощницы Кэтлин Йенсен появилась через четыре года. В 1982 г. она была переведена на русский язык. В 1987 г. за создание языка Паскаль Н. Вирт был удостоен медали "Пионер вычислительной техники" (Computer Pioneer) — самой престижной награды Международного компьютер- ного сообщества (IEEE Computer Society). В первую очередь, язык Паскаль пред- назначался для использования в учебных заведениях. Цели и задачи, стоявшие перед создателями Паскаля, включали:

± удовлетворение требованиям структурного программирования (программа должна состоять из небольшого количества типовых, легко заменяемых син- таксических конструкций — блоков);

± развитие набора структурированных данных и приемов их обработки (в первую очередь, записей — аналогов хорошо известных таблиц);

± написание надежных программ (за счет введения строгой типизации данных и запрета на использование различных правил умолчания);

± краткость языка (первое полное описание Паскаля занимало 30 страниц против 600 страниц руководства по языку PL/1 в документации по IBM/360).

Важную роль в разработке стандарта языка сыграл Британский институт стан- дартизации и его рабочая группа во главе с А. Эддиманом. Первый британский

стандарт BS6192 появился в 1982 г., а год спустя Международная организация по стандартам (International Organization for Standardization, ISO) приняла соответст- вующий документ — ISO 7185. Следует сказать, что Н. Вирт отрицательно отнесся к расширениям языка, предложенным британскими коллегами. Он считал, что но- вовведения нарушают основные принципы, изложенные выше. Поэтому в даль- нейшем Н. Вирт отошел от Паскаля и занялся развитием новых систем программи- рования на базе языков Modula, Oberon, Zonnon. Наверное, он не во всем был прав: язык программирования — не только средство обучения, но и рабочий инструмент для решения практических задач.

Паскаль довольно долго оставался средством для изучения программирования в учебных заведениях, т. к. ни одна серьезная компьютерная фирма его не под- держивала. Перелом по отношению к Паскалю наметился в 1983—1984 гг., когда за его реализацию взялся молодой французский студент Филипп Канн. Предвари- тельно он прошел длительную стажировку у Н. Вирта, после чего написал сверх- скоростной компилятор Turbo Pascal и придумал удачную интегрированную среду (IDE, Integrated Development Environment — интегрированная  среда  разработки) для только что появившихся персональных компьютеров IBM PC. Среда объединя- ла редактор исходного кода, компилятор, загрузчик и не очень сложные средства отладки. Вместо многократного формирования командных строк по запуску того или иного компонента системы программирования в интегрированной среде доста- точно было нажать пару кнопок. Простота и скорость работы в интегрированной среде послужили одним из главных факторов для привлечения массового пользо- вателя.

В дальнейшем многие фирмы заимствовали идеи Филиппа Канна в своих про- граммных продуктах. Для завоевания рынка Ф. Канн отправился в США, занял деньги у своих дальних родственников и начал продавать Turbo Pascal по смехо- творной цене — $49,95 (для сравнения напомним, что незадолго до этого Билл Гейтс ухитрился назначить цену в $500 за интерпретатор Бейсика на домашнем компьютере Altair). Торговый успех (за первый месяц после серьезной рекламной подготовки было продано порядка 3000 копий) заложил фундамент для создания фирмы Borland International. Ее дешевая программная продукция, на ура восприня- тая во всем мире и особенно в нашей стране, быстро заполнила вакуум инструмен- тальных средств на IBM-совместимых ПК, где кроме ассемблера и встроенного Бейсика ничего практически не было. Первый коммерческий успех фирмы Borland был достигнут после появления версии Turbo Pascal 2.0 (середина 1984 г.). За ней последовали более развитые версии 3.0 с "черепашьей" графикой (осень 1985 г.),

4.0 (начало 1988 г.) с полноценной графической библиотекой BGI (Borland Graphics Interface), 5.0 (август 1988 г.) с развитыми средствами отладки и возможностью построения оверлейных программ. В мае 1989 г. появилась версия 5.5, в которой были заложены основы объектно-ориентированного подхода. Развитие этого на- правления продолжилось в версиях TP 6.0 (1990) и TP 7.0 (1992). Последняя версия была выпущена в двух модификациях — для разработки приложений только MS- DOS (TP 7.0) и приложений как MS-DOS, так и Windows (BP 7.0).

Следующий серьезный прорыв в развитии языка Паскаль был связан с пре- одолением препятствий, выдвигаемых операционной системой при создании 32- разрядных приложений, функционирующих под управлением Windows. Прежние 16-разрядные приложения, создававшиеся в системах программирования Turbo Pascal и Borland Pascal, упирались в серьезные ограничения как по использова- нию ресурсов (работа с большой оперативной и внешней памятью, новые воз- можности расширенной системы команд и т. п.), так и по стандартным требова- ниям к организации приложений, выдвигаемым операционной системой. Первый шаг в преодолении барьера Windows  для  непрофессиональных  пользователей был предпринят в конце 1991 г. компанией Microsoft, которая выпустила на р ы- нок хит последующих 3—4 лет — систему визуального программирования Visual Basic. Ее примеру последовала и фирма Borland, которая уже в 1995 г. разработа- ла на базе языка Object Pascal среду визуального программирования Delphi. Об ъ- ектно-ориентированный подход, реализованный в языке Object Pascal, дал поль- зователям Delphi большое преимущество в создании новых компонентов, реализующих не только интерфейсные функции. В системе Visual Basic для раз- работки VBX- и OCX-компонентов применялись системные средства, не доступ- ные рядовому пользователю. Поэтому появление Delphi было с восторгом вос- принято не только мало искушенными пользователями языка Паскаль, но и системными программистами. Благодаря этой среде за относительно короткий срок фирме Borland удалось выпустить на рынок систему визуального програм- мирования на базе языка C++ (Borland C++Builder).

В нашей стране продукция фирмы Borland получила широкое распространение, в первую очередь, в учебных заведениях средней и высшей школы. Ее охотно ис- пользуют научные и технические предприятия для разработки новых программных продуктов. Существует обширный список литературы на русском языке, посвя- щенной программированию в средах Turbo Pascal, Borland Pascal и Delphi.

Однако не следует забывать, что, во-первых, все упомянутые системы про- граммирования являются коммерческими продуктами, затраты на легальное при- обретение которых не всегда по карману многим отечественным пользователям. В этом плане особенно страдают от нехватки средств высшие и средние учебные заведения. Во-вторых, кроме операционных систем типа Windows на IBM- совместимых персональных компьютерах расширяется использование существенно более надежных и более компактных операционных систем типа Linux с сопутст- вующим программным обеспечением, разрабатываемым и распространяемым на некоммерческой основе в соответствии с правилами FSF (Free Software Foundation). Основное соглашение этого фонда известно под аббревиатурой GPL (General Public License) или, как неологизм, copyleft (в противовес известному символу авторского права copyright). Это соглашение-лицензия является обязательным для всех разра- ботчиков и пользователей свободно распространяемого программного обеспечения (ПО). Смысл его довольно простой: получив бесплатно дистрибутив ПО вместе со всеми исходными текстами программ, вы можете доработать любой компонент этого ПО и устранить замеченные ошибки. Полученный или модифицированный таким образом дистрибутив вы не имеете права включать в состав любого коммер-

чески создаваемого продукта. Более того, продавая или передавая созданную вами модификацию третьим лицам, вы обязаны передать им дополнительно все исход- ные тексты своих изменений и пополнить список авторов, включая всех своих предшественников. Такого рода программные продукты, содержащие элементы творчества многих профессионалов, не обязательно являющихся членами первона- чального коллектива разработчиков, составляют категорию проектов GNU. К числу наиболее известных GNU-проектов относятся различные версии операционной системы Linux, компиляторы с языков ассемблера (GA.exe, GAS.exe), C и C++ (GCC.exe), Фортран (GFortran.exe), универсальный редактор Emacs, отладчик (GDb.exe), библиотека научных программ (GSL) и др.

В 1993 г. в Интернете стартовал очередной GNU-проект Free Pascal Compiler (сокращенно — FPC), который поначалу ставил целью разработку 32-разрядного компилятора входного языка Turbo Pascal для нескольких операционных систем (DOS, Windows, Linux, …) и персональных компьютеров разных производителей (x86, AMD, Power PC, …). Инициатором этого проекта был немецкий программист Флориан Клэмпфель (Florian Klämpfl, florian@freepascal.org). Следует отметить, что основная часть компилятора FPC писалась на Паскале, и уже к началу 1995 г. появилась версия, которая могла компилировать собственный текст, переводя его код на язык ассемблера IBM PC. В настоящее время на сайте разработчиков (http://www.freepascal.org) доступна версия FPC-2.2.4, которая датируется апре- лем 2009 г. Говорят, что аппетит приходит во время еды. Поэтому авторов проекта FPC потянуло на большее — они решили создать систему программирования, ко- торая бы не только понимала последнюю версию языка Turbo Pascal, но и могла поддерживать языковые возможности системы Delphi.

Рис. 1.1. Внешний вид интегрированной среды Free Pascal IDE for Win32 for i386

Для этой цели пришлось усовершенствовать не только компилятор fpc.exe, но и разработать несколько вариантов интегрированных сред, которые бы автоматиче- ски формировали запуск таких автономных GNU-утилит, как компилятор с ассемб- лера ga.exe, библиотекарь (архиватор) ar.exe, загрузчик ld.exe и отладчик gdb.exe.

Первая такая среда (Free Pascal IDE for Win32 for i386) почти один в один напоми- нала интегрированные среды ранних версий фирмы Borland (рис. 1.1). Ее разработ- ка была начата в 1998 г. и продолжается по сию пору. Последняя версия среды (ver 1.0.10) датируется апрелем 2009 г. Ее авторами являются венгр Бржи Габор (Bbrczi Gabor), француз Пьер Мюллер (Pierre Muller, muller@janus.u-strasbg.fr) и голлан- дец Петер Времан (Peter Vreman, peter@freepascal.org).

Годом  позднее  стартовал  более  амбициозный  проект  Lazarus.  Интерфейс

Lazarus IDE и возможности этой среды напоминают систему визуального програм- мирования Delphi. Приведенная на рис. 1.2 бета-версия IDE  датируется  мартом 2009 года. К ее разработке и наполнению визуальными компонентами причастен довольно большой коллектив программистов из разных стран.

Рис. 1.2. Интегрированная среда Lazarus

В справке о среде содержится следующий текст: "Lazarus — это IDE для созда- ния (графических и консольных) приложений при помощи компилятора Free Pascal. Free Pascal — это компилятор языков Pascal и Object Pascal, распространяе- мый под лицензией (L)GPL и работающий под Windows, Linux, Mac OS X, FreeBSD, и не только.

Lazarus — это недостающий элемент, который позволит вам разрабатывать программы для всех вышеперечисленных платформ в Delphi-подобном окружении. Эта IDE является инструментом RAD (Rapid Application Development — быстрая разработка приложений), включающим в себя дизайнер форм".

Добавим к этому новую возможность создания 64-разрядных приложений для постоянно возрастающего количества операционных систем (DOS, Win32, OS/2, Linux, FreeBSD, NetBSD, AmigaOS, BeOS, Mac OS и др.) и разнообразных техниче- ских платформ (x86, x86_64, AMD64, ARM, Motorola, PowerPC, Sparc и т. д.).

Источник: Кетков, Ю. Л., Свободное программное обеспечение. FREE PASCAL для студентов и школьников, Ю. Л. Кетков, А. Ю. Кетков. — СПб.: БХВ-Петербург, 2011. — 384 с.: ил. + CD-ROM — (ИиИКТ)

По теме:

  • Комментарии