Конференция "FreePascal" » Использование FreePascal. Для чего?
 
  • panov © (07.04.04 09:44) [0]
    FreePascal существует для разных платформ.
    Это хорошо.

    А вот можете описать круг задач, где лучше использовать FreePascal, нежели Delphi с IDE?

    Какая мотивация может быть для его использования, кроме как использование на не-WIN-платформах?
  • Мараканец © (07.04.04 09:50) [1]
    Мотивация:
    1. То что это Open Source
    2. Новые удобные возможности по типу перегрузки операторов
  • PVOzerski © (07.04.04 10:09) [2]
    Пока основным достоинством является "законная" бесплатность, что, на самом деле, в наших условиях является наиболее реальным способом ухода от использования пиратских программных продуктов. Однако уже сейчас есть вещи, где FPC для паскалиста является иногда просто спасением даже на Win32. Во-первых, более гибкая система поддержки public-имен. Что делать дельфисту, если надо прилинковать obj-файл, где имя нужной функции содержит какую-нибудь "собаку", или "процент", или "доллар"? Брать Си++ и делать dll? Или править какими-нибудь средствами obj-файл? А FPC допускае вот такое:
    procedure ForegeinProc(x:longint);stdcall;
    external name '_ForegeinProc@4';
    {$L foregein.o}

    Другой пример: надо сделать статическую coff-библиотеку для линковки к VC-проекту. Тоже можно.
    {$smartlink on}
    unit MyLib;
    interface
    implementation
    procedure proc1(x:longint);stdcall;[public,alias:'_proc1@4'];
    begin
    ....
    Кроме того, FPC/Win32 поддерживает импорт и экспорт переменных в DLL, в то время как для Delphi это не реализовано.

    В перспективе же предполагается прямая поддержка Си++-ных классов с возможностью прилинковки таких библиотек.

    ЗЫ Часть перечисленного, возможно, относится только к ветви 1.1/1.9.
  • pasha_golub © (07.04.04 10:34) [3]
    Ну, использование на не-вин платформах тоже немалое благо. Была задача у меня написать программку под Линукс (ФриБСД). Конечно же, по умному нужно было писать на С. Но вот проблема, я паскалист до мозга кости. И знаете, как для программиста Линуукс для меня ОСь чуждая, а тут какое-то тепло, уют что-ли :-)

    Единственное, это конечно отстуствие IDE под *никс платформы. Хотя бы а-ля TP7. Мне бы хватило за глаза.

    {$IFDEF OFFTOP}
    Кстати, а где пропадает Иван Шихалев?
  • Avva (07.04.04 10:42) [4]
    Иван жив-здоров, хотя имеет некоторые проблемы с тем, что меняет место и не имеет стабильного доступа к инету.

    Что касается IDE под Linux, то я приспособился писать в vim'е, хотя и не без усилий.
  • pasha_golub © (07.04.04 11:01) [5]
    Avva   (07.04.04 10:42) [4]
    Неужели в vim'e можно сделать пошаговую отладку?
  • panov © (07.04.04 11:20) [6]
    Применим ли Freepascal для решения задач по работе с БД?

    Возможно ли без изменения кода перенести программу на другую платформу?
  • Anatoly Podgoretsky © (07.04.04 11:29) [7]
    Для меня это другая платформа, особенно Линукс.
    Остальное неважно.
  • PVOzerski © (07.04.04 11:33) [8]
    Конечно, о BDE речи идти не может. Я сам сталкивался (вернее, сам себе накликал :^) ) с задачей работы из FreePascal с MySQL. Оказалось, что включенные в packages интерфейсные модули, мягко говоря, устарели. Однако мне удалось сваять не только cgi-приложение, но даже несколько UDF'ов.

    Иван Шихалев вынес на своем сайте на обсуждение идею разработки качественной библиотеки для БД:
    http://fpc.by.ru/dbints.shtml
  • Avva (07.04.04 13:11) [9]
    pasha_golub ©   (07.04.04 11:01) [5]
    Увы, под vim отладка не получится. Ее делаю отдельно, под gdb.
    http://fpc.by.ru/gdb.shtml
    Под Linux Mandrake 9.2 есть xgdb, хотя я не смотрел, что это за зверь.
  • SSY © (07.04.04 13:33) [10]
    В Lazarus под Linux есть интегрированная пошаговая отладка с точками останова, просмотром значений переменных прямо в тексте и т.п. (с использованием gdb).
  • VEG © (12.04.04 16:59) [11]
    На FreePas классно решать олимпиадки...
  • pasha_golub © (13.04.04 12:15) [12]
    Все-таки, ИМХО, отсутствие нормальной ИДЕ - это весомый сдерживающий фактор. Я, например, без ИДЕ ну прям как без рук :-(
  • VMcL © (14.04.04 11:53) [13]
    >>pasha_golub ©  (13.04.04 12:15) [12]

    Вспомни старые добрые времена: BP7- и никакого IDE :)
    Даже для TurboVision всё руками рисовать нуна.
  • pasha_golub © (14.04.04 13:41) [14]
    VMcL ©   (14.04.04 11:53) [13]
    Ой, не, я имею в виду редактор кода с возможностями отладки, то есть именно такой же как и в BP7 :-)
  • Darts © (14.04.04 14:14) [15]
    > pasha_golub ©   (14.04.04 13:41) [14]

    В качестве редактора можно взять любой. Я пользуюсь SciTE (http://www.scintilla.org). Дистрибутив весит 700 Кб. Поддержка до 30 языков, включая и Паскаль (есть поддержка FreePascal и Virtual Pascal). Расскраска, итоги компиляции в отдельное окно, есть свертка-развертка begin..end и функций (как в С#). Допускает редактирование в многооконном режиме. Бесплатен. Можно посмотреть на сайте на скриншот.

    Что касается отладчика - я им не пользуюсь. Выставляю интересующие значения в MessageBox(). Или вывожу в файл. На сайте Ивана Шихалева (www.fpc.by.ru) есть стаьтья, как использовать gdb.
  • pasha_golub © (14.04.04 15:26) [16]
    Darts ©   (14.04.04 14:14) [15]
    Спасибо, но все же... :-) Ленивый я, очень. :-)
  • Darts © (14.04.04 16:11) [17]
    В SciTE, как я уже писал, есть настройки для Паскаля. Если компилятор FreePascal, то в SciTE появится три пункта меню, непосредсьтвенно связанные с отладкой: Debug Compile, Debug Build и GDB. Если выбрать GDB, то появится еще оно окно, куда можно вводить команды отладки и просматривать текущие значения.
    Попробуйте :)
  • pasha_golub © (14.04.04 16:38) [18]
    А это под Виндой? А под Линью есть?
  • Dimedrol © (15.04.04 00:33) [19]
    Может задавший вопрос, "Для чего"
    имел в виду - что на нем кто делает... ?

    Я вот например на нем пишу UDFs для FireBird под Linux.
    Все чудненько.

    Конечно полная красплатформенность подкупает.
    Пишешь прогу где хочешь и комполишь потом где хочешь...
    Красота!
 
Конференция "FreePascal" » Использование FreePascal. Для чего?
Есть новые Нет новых   [119248   +27][b:0][p:0.001]