FreePascal сегодня

Что такое язык Паскаль сегодня? С одной стороны, программирование в школах и на младших курсах ВУЗов - ведь он и задумывался первоначально как язык для обучения программированию. С другой, масса кода серьезных и не очень приложений на Delphi, которые также нужно поддерживать и развивать.


Проблема?

Собственно, проблема сегодня именно в Delphi, который развивается не так динамично, как нужно рынку. На одном из форумов, где обсуждалась данная проблема, справедливо заметили, что "несерьезно в 2011 году не иметь даже 64-битного компилятора". Не говоря уже о поддержке отличных от Windows платформ, которые в последнее время стали набирать всё большую популярность. Выпущенная ещё "при жизни" компании Borland версия Delphi для платформы .NET по-настоящему проблему перехода с Delphi на новую платформу не решила, и дело, наверное, больше в различиях архитектуры стандартных библиотек Delphi и .NET Framework'а, чем в том языке, на котором пишутся приложения. В конце концов, у современного Object Pascal и C# общий "отец", поэтому по-настоящему непреодолимых различий между ними не так уж и много.

С другой стороны, использование архаичного Turbo Pascal для обучения программированию - тоже, скажем прямо, не комильфо. Потому что DOS, под который последняя версия этого знаменитого программного продукта написана, перестал быть актуальным ещё в те времена, когда изучающих Turbo Pascal сегодня школьников и студентов и на свете не было. В школах, а особенно в высших учебных заведениях, парк компьютеров всё-таки обновляется, а устанавливаемые на новых машинах системы вынуждают использовать для запуска Turbo Pascal'а эмуляторы и вообще вызывают массу ненужных и отвлекающих от изучения программирования проблем.

Использование в последнем случае Delphi не сильно решает проблему. В Delphi тоже можно создавать приложения без использования библиотеки компонентов, а работающие в простом консольном режиме. Но Delphi является коммерческим программным продуктом, и за его использование министерство образования должно уплатить определённую сумму нынешнему собственнику Delphi - компании Embarcadero. Кроме того, в некоторых учебных заведениях используются не Windows, а свободные программные платформы (в основном, конечно, разные дистрибутивы GNU/Linux, хотя я своими глазами видел учебный класс, где стояла PC-BSD). Запускать в таких средах из-под эмулятора Delphi ничуть не удобнее, чем работать с тем же Turbo Pascal'ем в них же.

Конечно, рано или поздно Delphi просто обязана будет догнать по своему развитию коммерческие решения на основе других технологических стеков (хотя бы по поддержке разных программных и аппаратных платформ), но тем же школьным учителям и вузовским преподавателям от этого, по большому счету, ни жарко, ни холодно. Да и разработчики коммерческих или промышленных приложений тоже не могут ждать, пока Embarcadero разберётся с наследием Borland'а и начнёт, наконец, реализовывать в компиляторе и среде ту функциональность, которой им не хватает уже на протяжении нескольких лет. И потому нет ничего удивительного, что и те, и другие сегодня смотрят в сторону свободного аналога и конкурента Delphi и Turbo Pascal - Free Pascal и сопровождающей его RAD-среды Lazarus.


Собственно, Free Pascal

Free Pascal - это пакет из компилятора Object Pascal и нескольких десятков дополнительных утилит, включая среду разработки в стиле старого доброго Turbo Pascal'а, которая наверняка будет навевать ностальгию на запустивших её разработчиков. Как видно из названия самого продукта, он относится к свободному ПО, то есть имеет открытый исходный код, может использоваться без каких-либо выплат его разработчикам (вообще говоря, распространяется пакет Free Pascal под лицензией GNU GPL, а лицензия для рантайм-библиотеки несколько модифицирована).

Чем ещё хорош Free Pascal, кроме своей бесплатности? Прежде всего, именно тем, чего всегда не хватало Delphi и Turbo Pascal: своей кросс-платформенностью. Причём кросс-платформенность эта касается не только поддерживаемых операционных систем, но и процессоров: компилятор может выдавать родной код для Intel x86, Amd64/x86_64, PowerPC, PowerPC64, Sparc, ARM. Старая версия (1.0) умела ещё и для Motorola 680x0, но потом, видимо, было решено, что это мало кому нужно, и поддержку этой архитектуры из последующих релизов убрали. Что касается операционных систем, то их список тоже достаточно внушительный: Linux, FreeBSD, Haiku, Mac OS X/Darwin, DOS, Win32, Win64, WinCE, OS/2, Netware (libc и classic) и MorphOS.

Самая ценная особенность Free Pascal'а - это ориентация именно на "борландовскую" версию языка, очень хорошо знакомую многим поколениям разработчиков и преподавателей, а не на так и не сумевшую вырваться из академических кругов "правильную" версию языка, которую любят создатели GNU Pascal. Поэтому он гораздо лучше подходит для обучения языку, ведь последующий переход к Delphi будет не таким сложным, как в случае использования GNU Pascal.

Другая, не менее ценная, особенность Free Pascal'а - конечно же, постоянное обновление и развитие этого программного продукта. Если вы зайдёте на сайт freepascal.org, то увидите, что последний официальный релиз вышел 12 ноября прошлого года - не так давно для действительно сложного и крупного свободного программного продукта. Авторы компилятора оперативно дописывают поддержку новых языковых "фишек", появляющихся в Delphi, поэтому перенос Delphi-кода на Free Pascal, особенно в случае, если код был написан ещё на сравнительно старых версиях Delphi, проходит без каких-либо заметных проблем.

Наконец, третий существенный плюс компилятора и библиотек состоит в стабильности и качестве их работы. Конечно, при разговоре о подобных сложных понятиях нужно делать скидку на то, что это всё-таки свободный программный продукт. Но сам факт, что многие разработчики достаточно известных программных продуктов, отчаявшиеся дождаться от Embarcadero поддержки 64-битных Windows и других ОС, осуществили (или осуществляют) перенос своих продуктов на Free Pascal, говорит о многом. Как вы недавно могли прочесть на страницах "Компьютерных вестей", Total Commander попал в список таких портируемых продуктов. И роль в этом играет не только сам компилятор Free Pascal, но и другой программный продукт, являющийся, как сказали бы экономисты, товаром-спутником Free Pascal. Называется он Lazarus, и именно он делает Free Pascal такой же удобной для разработчиков средой, какой является Delphi.


Lazarus

Я подробно рассказывал о Lazarus'е читателям "Компьютерных вестей" достаточно давно, но с той поры много воды утекло. Снова вспомнить об этом замечательном продукте мне будет совсем не сложно и даже приятно.

Кратко и ёмко о Lazarus'е написано в "Википедии": "Lazarus - свободная среда разработки программного обеспечения для компилятора Free Pascal Compiler. Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении. На данный момент является единственным инструментом, позволяющим достаточно несложно переносить Delphi-программы с графическим интерфейсом в различные операционные системы: Linux, FreeBSD, Mac OS X, Microsoft Windows".

В общем-то, в этой фразе и кроется всё то, чем Lazarus привлекателен сегодня для разработчиков. Библиотека компонентов LCL, используемая в этой среде, спроектирована так, чтобы быть максимально похожей на используемую Delphi-разработчиками библиотеку VCL, а отдельные библиотеки компонентов (и не такое уж их малое количество, кстати говоря), изначально разработанные для Delphi, уже перенесены или собственными, или сторонними разработчиками под Lazarus. Развитие Lazarus сегодня, к сожалению, движется не такими быстрыми темпами, как хотелось бы, но и медленным его ни в коем случае назвать нельзя, потому что постепенно недоделки устраняются, новые возможности реализуются, и качество продукта, соответственно, повышается.


Резюме

Free Pascal сегодня - это не только учебный компилятор, которым могут воспользоваться отдельные "продвинутые" школы, уже перешедшие на Linux или просто заботящиеся о лицензионной чистоте используемого ими программного обеспечения, но и конкурентоспособный аналог коммерческих средств разработки на Паскале (прежде всего, конечно, Delphi).

Поскольку на постсоветском пространстве позиции Паскаля и Delphi всегда были достаточно сильны, то и русскоязычное сообщество пользователей Free Pascal и Lazarus уже сейчас достаточно велико и в обозримом будущем, судя по всему, будет только расти. Что и хорошо, потому что в случае чего спросить можно будет у кого-то, да и развитию продукта в целом это, несомненно, поспособствует.

Если вы сегодня выбираете, переходить на новую версию Delphi или подождать более-менее серьезного обновления компилятора, которое Embarcadero всё обещает в своих roadmap'ах, думаю, стоит присмотреться и к Free Pascal/Lazarus. Во всяком случае, будущее у этих продуктов, пока существуют программисты на Object Pascal'е, точно есть.

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by

Версия для печатиВерсия для печати

Номер: 

06 за 2011 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!