Главная

Free Pascal для BeOS

В свое время фирма Borland превратила Pascal из концептуально–стройного алгол–подобного языка для обучению программированию в мощный инструмент реального прикладного программирования. А появление Delphi было настоящей революцией в RAD (быстрая разработка приложений). И до сих пор количество поклонников Pascal (в основном, тех же дельфийцев) впечатляет. Под BeOS же Pascal практически никогда не проявлялся..

Одна из причин тому — сам BeOS, практически от самых корней до верхушки построенный на C++ и заточенный под C++. Причем не на том уровне, на котором кулхацкер, использующий cout для программы “Hello World” вместо printf(), утверждает в своем резюме, что он мастер С++, а на действительно объектных принципах.

И если создание над процедурно–ориентированным Win16/32 API надстройки из VLC–библиотек и нового диалекта языка (Object Pascal) было трудозатратным, но прозрачным процессом, то создание полноценного соответствия BeOS C++ API для FreePacal — вещь гораздо менее однозначная. Тому же Borland–у пришлось пойти на ряд ограничений при «противоположном» процессе — создания С++ инструментария (С++ Builder) над библиотеками паскалевских объектов.

Для случая FreePascal, насколько я понимаю, дело еще может быть в отсутствии стандартизации на тему объектности — по сути, Borland Object Pascal — сам себе стандарт.

Тем не менее, нет ничего невозможного — года 3 назад на японском BeOS–сайте я видел обширную таблицу по портированию программ из Delphi в BeOS C++ API.

Тут надо отметить, что порты FreePascal ( http://www.freepascal.org ) под BeOS существуют довольно давно, чуть ли не с 97–го года, но до недавних пор являлись «вещью в себе» — реализуя, в основном, POSIX API — то есть позволяя создавать программы для командной строки.

То есть недостающим элементом были библиотеки, реализующие BeOS API для Pascal–я.
В принципе, ничего тут сложного нет — библиотеки такие могут быть обертками, преобразующими Pascal–евские вызовы в вызовы C++ функций — но работа это долгая и муторная, в основном ручная. Нужно подогнать систему внутренних имен функций, огранизовать перестановку параметров вызова в стеке в обратном порядке, а также создать всю систему заголовочных файлов на основе имеющихся *.h.

За эту гераклову работу взялись два человека — Olivier Coursière (aka oco) и Eric Jourde (aka baldur) — за ее продвижением можно следить на странице BePascal ( http://befpc.sourceforge.net/ ).
К настоящему времени сделаны обертки для основных объектов (BMessage, BApplication, BForm, BHandler, BLooper…) и также некоторый набор инструментов и скриптов для полуавтоматизации этой работы (если раньше на «преобразование» одного объекта уходил целый день, если не больше, то теперь менее двух часов).

После завершения этой базовой работы, ребята мечтают создать и среду быстрой разработки, наподобие Delphi или хотя бы BeXL..

Так как среди русских программеров Delphi пользуется особой любовью, да и многие посетители BeOS–форумов, особенно среди начинающих, постоянно интересовались этой проблемой, хотелось бы надеяться, что может кто–то из наших и присоединится к этой команде :)
-------------------------–
Сам FreePascal для BeOS можно скачать здесь:
http://befpc.sourceforge.net/fpc-1.0.6–ELF.zip

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <i> <img> <strong> <b> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Введите перечисленные символы, чтобы мы убедились, что вы не робот. Не требуется для зарегистрированных пользователей.
e
U
x
f
m
z
Enter the code without spaces and pay attention to upper/lower case.