/ / Чи є вільна мова програмування Pascal сама? Або просто компілятор, що підтримує розробку Pascal? [закритий] - паскаль, freepascal

Чи є вільний Паскаль мовою програмування самостійно? Або просто компілятор, що підтримує розробку Pascal? [закрито] - паскаль, freepascal

Я жахливо заплутався, коли шукав про ВільнийПаскаль. У freepascal.org сказано, що це компілятор, який використовується для компіляції мови мови Паскаля через системи різних архітектур. Але, я також знайшов кілька робочих місць, опублікованих в Інтернеті, шукаючи вільного програміста Паскаля.

Відповіді:

11 за відповідь № 1

Free Pascal - компілятор, що підтримує кілька діалектів.

Звідси виникає чимало плутаниниспрощені статті, які представляють FPC / Lazarus як dropin Delphi. Уся історія розвитку Lazarus / fpc відрізняється від TP і Delphi.

Більшість діалектних мод є існуючими діалектами з незначними розширеннями (зазвичай функції підтримуються усіма діалектами), а деякі діалекти (наприклад, об'єктивний Паскаль) повністю є винаходом Free Pascal.

Деякі діалекти:

  • {$ режим tp} - турбо-паскальний діалект
  • {$ режим fpc} - За замовчуванням режиму. Турбопаскальський діалект, очищений від дозизмів і 16-бітизму (кілька відмінностей від ТП)
  • {$ режим Delphi} - діалект на Delphi + сумісні розширення
  • {$ режим DelphiUnicode} - діалект Дельфі, який змінює рядок на unicodestring, подібно до D2009 (проте неповна підтримка під час виконання)
  • {$ Mode objfpc} - Безкоштовна версія паскальського діалекту Delphi. (несумісні розширення)
  • {$ режим макропаскаль} - Apple, що базується на паскалі, здебільшого отримана з Codewarrior
  • {$ режим ISO} - Робота в процесі ISO-7185 Pascal.
  • {$ modewitch objectc1} і {$ modewitch objectc2}, перемикає об'єктну модель об'єкта C для спрощення інтерфейсу COCOA, відмінності збігаються з об'єктивними мовами C 1.x та 2.x. Це Об'єктивний Паскаль

Основним відсутнім є стандарт ISO10206 (1990), другий стандарт мови Паскаль (який більшість основних виробників ігнорували)

Режим діалекту - це рішення за одиницю, кілька діалектів можна використовувати в одній програмі. Режим objfpc є типовим режимом Лазарі, таким чином, найчастіше використовується діалект сьогодні.

Типовий приклад несумісного розширення вmode objfpc вимагає @ для процедури (або методу) присвоєння змінної. Це неоднозначність для певних випадків, коли proctype є поверненим значенням функції.

Деякі відмінності $ mode objfpc булиреалізований у пізніших версіях Delphi (наприклад, {$ pointermath on}, пізніше, який є типовим у $ mode objfpc). $ Mode objfpc також мав дуже ранню (початок 2007 року) реалізацію генеричної моделі після C ++


5 для відповіді № 2

Безкоштовний Pascal - це компілятор, як говорить сайт. Проте для різних виробників компіляторів - навіть авторів компілятора FOSS - незвично включати розширення до стандартного визначення мови, яку компілятор компілює. Коли ви бачите оголошення про роботух програміст "де х це конкретна реалізація (наприклад, Free Pascal), це зазвичай означає, що "це компілятор, який ми використовуємо; ви повинні бути з ним знайомі і з розширеннями мови, яку він підтримує".

У деяких випадках - наприклад, ранній Turbo Pascal -він може також посилатися на використання конкретного продукту як повної середовища розробки (IDE), якщо він включає його, і ви, як очікується, будете знайомі з різними компонентами IDE.