Алексей Ю. Уласевич (STAKANOV)
Что такое Free Pascal
Free Pascal это свободно распространяемый компилятор языка Паскаль. Free Pascal работает на различных процессорах (Intel x86, Amd64/x86_64, PowerPC, Sparc) и операционных системах (Linux, FreeBSD, Mac OS X/Darwin, Mac OS classic, DOS, Win32, OS/2, Netware и MorphOS). Синтаксис Free Pascal полностью совместим с Turbo Pascal 7.0, а так же, по утверждению разработчиков, с большинством версий Delphi (классы, rtti, исключения, ansistrings, widestrings, интерфейсы). Для пользователей Apple есть режим совместимости с Mac Pascal. Кроме того Free Pascal поддерживает перегрузку функции, перегрузку оператора, глобальные свойства и некоторые другие особенности.
Сам компилятор распространяется бесплатно по лицензии GNU GPL, а идущие вместе с ним пакеты и библиотеки по модифицированной LGPL, что позволяет распространять ваши скомпилированные программы на любых удобных для вас условиях.
Получение
Как правило Free Pascal не продается в магазинах и для его получения необходим доступ в интернет. Установите соединение с интернет, запустите Internet Explorer (или тот броузер которым вы пользуетесь). В поле адрес наберите следующий текст (ссылку) – http://www.freepascal.org/down/i386/win32-ftp.freepascal.org.html и нажмите клавишу Enter.
Прим.: надо заметить, что это не единственное место где можно получить компилятор и если у вас достаточно для этого квалификации, то перейдите по ссылке http://www.freepascal.org/download.html и выберите тот вариант который вас больше устраивает.
Объем файла который вам потребуется скачать достаточно большой (26,4Мб) и процесс его получения займет много времени. На открывшейся странице, в разделе «Download as installer» кликните правой кнопкой мыши по fpc-2.0.2.i386-win32.exe, в появившемся меню выберите пункт «Сохранить объект как . », в диалоговом окне укажите каталог (по-умолчанию «Рабочий стол») в который вы хотите сохранить программу установки и нажмите кнопку «Сохранить». Обязательно запомните этот каталог. Дождитесь завершения загрузки, закройте ваш браузер и переходите к следующему разделу.
Установка
![]() | Если вы сохранили программу установки не на рабочем столе, то откройте проводник и выберите в нем свой каталог. Кликнув дважды (используйте левую кнопку мыши) по иконке «fpc-2.0.2.i386-win32» запустите программу установки. |

В открывшемся окне нажмите кнопку «Next».

В следующем окне вам будет предложено указать каталог в который будет установлен Free Pascal. Лучше оставьте тот, что указан по-умолчанию. Для продолжения нажмите «Next».

В этом окне необходимо выбрать один из трех вариантов установки — «Full installation», «Minimum installation» и «Custom installation». Если вы планируете основательно использовать все пакеты Free Pascal и у вас достаточно места на диске, то выберите «Full installation». При этом будут установлены все пакеты, документация и примеры. Такой вариант установки потребует 101,6Мб дискового пространства. Если вам нужен только компилятор — «Minimum installation». Потребуется 20,8Мб дискового пространства. В случае выбора варианта «Custom installation» появится возможность выбрать устанавливаемые пакеты. Для написания своей первой программы так как это будет описано далее в этой статье выберите пункт «Custom installation»,а в появившемся списке оставьте (или установите) галочку только около «Integrated Development Environment» и нажмите «Next».

В следующем окне вам будет предложено выбрать название для раздела главного меню Windows. Ничего не меняйте, просто нажмите «Next».

В следующем окне («Select Additional Task») опять же ничего не меняйте, нажмите «Next».

Далее откроется окно, содержащее общую информацию о заданных параметрах установки. Чтобы начать нажмите «Install».


После завершения процесса копирования файлов появится окно («Information»), в окне содержится информация (на английском языке) о новшествах версии 2.0.2. Нажмите «Next» и вы перейдете к заключительному окну.

Если вы желаете ознакомится с файлом readme.txt (на английском языке), то оставьте галочку около «View readme.txt». Если нет, то уберите ее. Нажмите кнопку «Finish» для завершения установки.
Поздравляю! Вы установили Free Pascal.
Прим.: пользователям Windows 98 чтобы иметь возможность запускать команды компилятора из любого каталога необходимо в файле autoexec.bat добавить в переменную PATH каталог C:FPC2.0.2ini386-win32 и затем перезагрузить компьютер.
Первая программа
![]() | После того как вы выполнили описанные выше действия у вас на рабочем столе появилась иконка (ярлык) «Free Pascal IDE». При двойном клике по этой иконке запустится классическая интегрированная среда разработки. Среда имеет текстовый интерфейс. Если вы программировали с использование Turbo Pascal, то у вас не возникнет проблем с освоением этой среды. В любом случае помните, что это не единственный вариант. Для Free Pascal есть множество различных вспомогательных средств от простых редакторов с подсветкой синтаксиса до систем визуального проектирования. |

Теперь запустите IDE. После открытия окна можете нажать клавиши Alt+Enter для полноэкранного режима. Нажмите клавишу F10 для перехода в главное меню. Выберите меню File и нажмите Enter. В появившемся меню выберите команду New и нажмите клавишу Enter. Откроется новое окно редактора вашей программы. В нем наберите:

Нажмите клавишу F2 для сохранения файла. Откроется диалоговое окно «Save File As ..», в котором среда предложит вам выбрать каталог и имя для хранения файла. Для перемещения между элементами окна пользуйтесь клавишей «Tab». В центральной части окна находится список каталогов. Для поднятия на уровень выше выберите «..» и нажмите Enter, пользуйтесь стрелками для выбора каталога из списка. Естественно вы можете проделать все это с помощью мыши. Выберите нужный вам каталог, а в поле «Name» наберите имя файла программы, например «hello». Расширение «.pas» будет добавлено автоматически.

Прим.: если вы используете Windows 98, то сохраняйте свои программы в каталогах короткими английски именами. Если вы сохраните программу в каталоге «c:Мои докумениты», то возникнут проблемы во процессе компиляции.
Для компиляции и выполнения программы нажмите Ctrl+F9. Если вы сделали все как написано, то процесс должен пройти успешно. Чтобы посмотреть результат работы программы воспользуйтесь сочетанием клавиш Alt+F5. Там вы увидете столь любимое всеми сообщение «Hello, world!».

Заключение
В заключении хочу выразить свою особую благодарность всем кто дочитал до этого места. Спасибо.
Язык программирования Free Pascal является свободным ответвлением от классического языка Pascal, разработанного Никлаусом Виртом в конце 60-х годов. Н. Вирт разработал данный язык для обучения студентов навыкам процедурного программирования. Со временем язык Pascal был сильно развит, возникло множество диалектов данного языка (наиболее известный из них — Turbo Pascal фирмы Borland).
Free Pascal является свободной реализаций языка Pascal (если быть точнее, свободно распространяемый компилятор языка программирования Pascal), поддерживает объектно-ориентированное программирование и может быть использован для написания не только учебных программ, но и более серьезных приложений обработки данных.
Среда программирования Free Pascal
Рассмотрим процесс установки.
1) Для пользователей ОС Windows необходимо скачать инсталлятор с интернет-страницы http://www.freepascal.org/down/i386/win32.var и запустить его с правами администратора.
2) Для пользователей Linux можно скачать свежий инсталляционный пакет rpm или deb (например, Альт-Линукс использует пакеты rpm, а Ubuntu или Debian — пакеты deb).
Существуют варианты простой установки:
Fpc — это метапакет, включающий в себя собственно сам компилятор и среду разработки (IDE, «оболочка» для редактирования кода, отладки и запуска скомпилированного кода). Команда sudo запускает установку метапакета fpc в режиме администратора, не забудьте ввести правильно пароль.
2) с помощью пакетного менеджера Synaptic. Найдите пакет fpc, отметьте для установки и примените изменения:
![]()
Установка Free Pascal через пакетный менеджер Synaptic
Если же вы являетесь обладателем дистрибутива Альт-Линукс Школьный, то вам повезло, Free Pascal уже установлен.
Запуск IDE Free Pascal (IDE — интегрированная среда разработки)
Вызовите терминал и наберите: fp
![]()
IDE Free Pascal
Интерфейс очень похож на классический интерфейс среды Turbo Pascal 7.0
Среда разработки Geany
Чтобы упростить процесс создания программы и избавиться от проблемы отображения кириллицы, можно установить свободную среду разработки Geany. Данная оболочка обладает приятным графическим интерфейсом, поддерживает несколько языков программирования (Pascal, C, PHP и др.).
Установка среды разработки Geany
1) с помощью терминала:
2) с помощью пакетного менеджера Synaptic. Процесс установки будет совершенно аналогичен процессу установки метапакета fp
3) можно скачать инсталляционный пакет с официального сайта разработчиков:http://www.geany.org/Download/Releases .
Приведем пример создания простейшей программы, выводящей квадраты целых чисел от 1 до 15.
1. После запуска среды Geany создадим шаблон файла Pascal:
![]()
Выбор шаблона Pascal
2. Сохраним текст программы в любой удобной для нас папке. После сохранения окно оболочки будет выглядеть примерно так:
![]()
Сохраненный текст с шаблоном pascal
3. Обязательно поменяйте имя программы (латиница, без пробелов), т.к. компилятор выдаст ошибку при компиляции текста в выполняемый код.
4. Напишем текст программы, выводящей квадраты чисел от 1 до 15 и скомпилируем. При компиляции файл текста программы автоматически сохраняется.
![]()
Компиляция текущего файла программы
5. Запустим программу нажатием по пиктограмме или с помощью главного меню Сборка→Выполнить:
![]()
Результат работы программы
6. В папке, где мы сохраняли текст программы, можно обнаружить файлы с расширением *.pas — текст программы; *.о — откомпилированный файл (объектный файл) и готовый исполняемый файл без расширения (для ОС GNULinux), который можно выполнить в терминале.
Среда визуального программирования Lazarus
Консольные приложения (работающие в терминале или командной строке) это конечно хорошо, а как же создать приложение с графическим интерфейсом в среде GNULinux?
Возможно, вы слышали о Delphi компании Borland — это среда быстрой разработки программ с графическим интерфейсом на языке Object Pascal (в дальнейшем стал называться просто язык Delphi). В чем достоинство такой среды (и других подобных визульных сред разработки)? Достоинство в том, что программист не заботится о том, чтобы программным путем нарисовать окно приложения, разместить на нем кнопки, списки и другие графические элементы — заботу об этом берет сама среда Delphi; программист занимается непосредственно обработкой различных событий и собственно алгоритмом обработки данных.
Lazarus — свободная (а значит, совершенно бесплатная!) среда разработки программного обеспечения для компилятора языка Free Pascal. Интегрированная среда разработки предоставляет возможность разработки приложений в Delphi-подобном окружении. Причем, есть возможность создания кроссплатформенных приложений, работающих и в операционной системе Windows, и в операционной системе GNULinux.
Установка Lazarus
1) с помощью терминала:
2) с помощью пакетного менеджера Synaptic. Ставим галочки напротив программ Lazarus, fp, fpc, fpc-ide
3) можно скачать инсталляционный пакет с официального сайта разработчиков:http://sourceforge.net/projects/lazarus/files/
После запуска мы увидим многооконный интерфейс Lazarus, схожий с интерфейсом среды Borland Delphi:
Free Pascal, также известный как FPC (free pascal compiler), а ранее как FPK — свободно распространяемый в исходных текстах 32-разрядный кроссплатформенный компилятор языка Pascal.
Кроссплатформенность
Первое, что впечатляет, это его кроссплатформенность: поддерживаются не две-три операционных системы, а сразу шесть ОС и два типа процессоров. На базе i386 — Win32, DOS, Linux, FreeBSD и OS/2. На базе процессора Motorola 680×0 — AmigaOS.
Что это значит? Это значит, что под все эти операционные системы вы можете писать программы, пользуясь одним языком и одной библиотекой базовых функций. А зачастую, вообще, для переноса программы или библиотеки достаточно ее перекомпилировать. Думаю, что особенно приятно должно быть инженерам и научным работникам — если не вдаваться в интерфейсные заморочки, любые расчеты можно написать один раз, не задумываясь над тем, под какой операционной системой они будут выполняться.
Надежность и удобство
Существует мнение, что бесплатные и открытые програмные продукты менее надежны, чем коммерческие. К сожалению, в большинстве случаев это действительно так.
Однако и здесь Free Pascal является приятным исключением. Лично мне пришлось столкнуться в лоб только с одним глюком, причем только тогда, когда я использовал возможность Free Pascal’я работать не с родным для него GNU-ассемблером, а с TASM. Bug-list на сайте freepascal.org весьма обширен, однако подавляющее большинство багов обычному программисту никогда не встретится. Кроме того, в отличие от коммерческих систем эти ошибки не скрываются и исправляются командой разработчиков.
Сообщения об ошибках, выдаваемые компилятором — четкие и информативные, с указанием номера строки и позиции в ней, где обнаружена ошибка. Сделано это в таком формате, что например, редактор UltraEdit-32 позволяет автоматически перейти к нужной строке (кстати, очень хороший редактор для программирования, жаль только, что не бесплатный).
Компилятор сам управляет процессом ассемблирования и сборки, так что пользоваться им может и начинающий программист, привыкший к интегрированным средам.
Модули и библиотеки
Базовая библиотека включает в себя стандартные модули, реализующие управление памятью, работу с файловой системой, управление консольным вводом/выводом, работу со строками и датами, математические функции, обработку исключений и интерфейс к API поддерживаемых операционных систем. При этом все вышеперечисленное, кроме API, для различных систем реализовано единообразно a-la Borland Pascal.
Если сравнивать с Turbo Pascal, то мы видим модули CRT, DOS, Graph (реализует работу с VGA-графикой), Strings, Objects. Сравнивая с Borland Delphi, видим соответствующие модули SysUtils и Classes. Для работы с API в базовой библиотеке предусмотрены модули Linux, Windows и GO32 (API DOS-расширителя GO32v2).
Существуют также дополнительные библиотеки модулей, часть из которых включается в дистрибутив Free Pascal, а часть — нет.
Несколько библиотек, находящихся пока в состоянии разработки, предназначено для объектной реализации GUI-интерфейса для Windows и XWindow.
Существует аналог Turbo Vision — Free Vision, однако пока он недоступен: первоначальная версия содержала много кода от Borland, и сейчас перерабатывается для лицензионной чистоты.
В процессе разработки библиотека доступа к базам данных. Предполагаются InterBase, MySQL и Postgress. Сейчас пока можно с ними работать только через их API.
В дистрибутив входят модули, облегчающие написание CGI-программ — разбор HTTP-заголовка и т.д., модули упаковки и распаковки файлов в формате zip, работа с SVGA-графикой и OpenGL, и многое другое.
Лицензия
Free Pascal распространяется на условиях GNU General Public License (GNU GPL). Модули и библиотеки распространяются на условиях GNU Library General Public License (GNU LGPL), последняя версия данной лицензии называется GNU Lesser Public License.
Ознакомиться с ними и узнать, что за зверь GNU можно на gnu.org или gnu.ru.
Впечатлившись кроссплатформенностью, мы скачиваем документацию, дабы поподробнее узнать о возможностях компилятора. Обычно freeware компиляторы особыми изысками не балуют — совместимость с Turbo Pascal 7.0 практически максимум их притязаний. Конечно, и TP — шаг вперед по сравнению со стандартами Pascal и Extended Pascal, однако мы живем в мире уже других стандартов, так называемых "промышленных". "Промышленный стандарт" на Pascal сейчас — это последняя версия Borland Delphi, то есть Object Pascal со всеми прелестями классов и настоящего объектного программирования.
Так вот, Free Pascal поддерживает классы и RTTI. Поддерживает также перегрузку (overloading) процедур и функций и обработку исключений в try-блоках. Поддерживает он и длинные строки (тип ansistring) по модели Delphi.
В общем, до Delphi Free Pascal "не дотягивает" совсем чуть-чуть: отсутствует поддержка динамических массивов, "широкие строки" (WideString) для работы с Unicode, и поддержка OLE Automation. Однако все эти возможности группа разработчиков намерена включить уже в следующий релиз — версию 1.2. Впрочем, я думаю, что с OLE Automation они скорее всего подзадержатся, поскольку это нужно только на одной платформе. Поживем, увидим.
Зато присутствуют такие вкусности, как перегрузка операторов (+, -, *, /, **, =, , =, :=), последний обеспечивает также скрытое преобразование типов, посему с ним надо обращаться осторожно. Inline- процедуры, функции и операторы, причем не нужно извращаться, как в Turbo Pascal, и писать в машкодах. Правда, действуют они только в пределах модуля — вне его вызываются как обычные.
IDE и утилиты
А теперь о грустном — IDE, можно сказать, отсутствует. Для Win32 и DOS существует консольная оболочка fp, построенная по образу и подобию Turbo Pascal 7.0. Единственное достоинство этой оболочки — декларированная интеграция с gdb — GNU-отладчиком. Сам я этим отладчиком не пользуюсь, однако в конференциях встречал жалобы, что интеграция эта весьма несовершенна.
Отладчик прилагается в дистрибутиве (см. выше). К сожалению, GNU-отладчик не ориентирован на Free Pascal, зато Free Pascal ориентирован на него. Лично я отладчиком стараюсь не пользоваться, предпочитая "метод вилки".
Ассемблер и компоновщик — GNU as и ld (для Win32 — asw и ldw, соответственно).
Из прочих утилит, прилагаемых к компилятору, отмечу h2pas — переводчик С-шных заголовочных файлов .h в модули .pas; и компилятор ресурсов windres — аналог brcc32 из поставки Delphi.
Должен заметить, что ситуация с IDE не такая безнадежная, как может показаться. Существуют отдельные проекты, некоторые из которых весьма неплохи, однако характеризуются хотя бы одним из трех недостатков: написаны не на Free Pascal (хороший пример — редактор-оболочка Dev-Pascal, написанный на Delphi), не распространяются в исходниках, или недостаточно отлажены, попросту говоря, глючат. Очевидно, любой из этих причин достаточно, чтобы не вносить эти инструменты в дистрибутив.
Справка
Справка Free Pascal распространяется с дистрибутивом в двух форматах: PDF и HTML, при желании можно скачать отдельно справку и в других форматах. И в том и в другом виде она хорошо структурирована и прекрасно читается. Состоит из четырех книг:
"Руководство программиста", которое описывает различные аспекты программирования, такие как директивы компилятора, использование ресурсов, использование встроенного ассемблера и т.д.
"Справочник", где описывается язык Pascal в его Free Pascal диалекте и содержимое модулей System и ObjPas.
"Справочник модулей". Описываются модули: CRT, DOS, DXELoad, Emu387, GetOpts, GPM, GO32, Graph, HeapTrc, IPC, Linux, Math, MMX, MSMouse, Objects, Ports, Printer, Sockets, Strings, SysUtils.
"Руководство пользователя", где рассматриваются такие вопросы, как инсталляция Free Pascal, ключи командной строки, файл настроек и проч.
Резюме
Надеюсь, данный краткий обзор заинтересовал вас и станет первым шагом на пути к обстоятельному знакомству с одним из интереснейших открытых проектов — кроссплатформенным компилятором Free Pascal. Жду вопросов и тем для обзоров.







