Free Pascal - это свободно распространяемый компилятор языка Паскаль с открытыми исходными кодами. Он совместим с Borland Pascal 7 и Object Pascal – Delphi, но при этом обладает рядом дополнительных возможностей, например, поддерживает перегрузку операторов. FPC — кроссплатформенный инструмент, поддерживающий огромное количество платформ. Среди них — AmigaOS, DOS, Linux, *BSD, OS/2, MacOS(X) и Win32 Первое, что впечатляет, это его кроссплатформенность: поддерживаются не две-три операционных системы, а сразу шесть ОС и два типа процессоров. На базе i386 - Win32, DOS, Linux, FreeBSD и OS/2. На базе процессора Motorola 680x0 - 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.
Язык Впечатлившись кроссплатформенностью, мы скачиваем документацию, дабы поподробнее узнать о возможностях компилятора. Обычно 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 ориентирован на него. Лично я отладчиком стараюсь не пользоваться, предпочитая "метод вилки". Из прочих утилит, прилагаемых к компилятору, отмечу h2pas - переводчик С-шных заголовочных файлов .h в модули .pas; и компилятор ресурсов windres - аналог brcc32 из поставки Delphi. Должен заметить, что ситуация с IDE не такая безнадежная, как может показаться. Существуют отдельные проекты, некоторые из которых весьма неплохи, однако характеризуются хотя бы одним из трех недостатков: написаны не на Free Pascal (хороший пример - редактор-оболочка Dev-Pascal, написанный на Delphi), не распространяются в исходниках, или недостаточно отлажены, попросту говоря, глючат. Очевидно, любой из этих причин достаточно, чтобы не вносить эти инструменты в дистрибутив.
Основные изменения: релизa 2.4.2.
Поддержка конструкции for ... in. Модификаторы abstract и sealed для классов. Дополнительные методы в TObject. Целевая платформа FreeBSD 64-bit.
Страничка: www.freepascal.ru Интерфейс: английский Система: Windows XP (x86)
Хотите изучить основы программирования? Тогда подходящий язык для вас – Pascal. Но вам нужно с чего-то начать. Тогда скачайте отличную компьютерную программу Ezy Pascal, с которой данный язык
PascalABC.NET — современный язык программирования, основанный на Delphi (Object Pascal) и сочетающий простоту языка Паскаль и огромные возможности платформы .NET! Бесплатная, простая и мощная
В книге рассмотрены возможности системы программирования Delphi 7, описан язык Delphi, рассмотрены визуальные компоненты системы и методы их создания. Особое внимание уделено принципам и практическим
Комментарии
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.