У вересні 1986 року фірма Apple випустила об'єктне розширення мови програмування Pascal, яке стали називати Object Pascal[1].
1989 року компанія Borland внесла аналогічні зміни в систему Turbo Pascal 5.5, мова якої відтоді стала об'єктно-орієнтованою. Із часом, до мови програмування Turbo Pascal вносили нові зміни, що розширювали її об'єктно-орієнтовані можливості.
В 1995 році було випущено інтегроване середовище розробкиBorland Delphi 1.0, мовою програмування якої був Object Pascal (на основі Turbo Pascal).[2] Назва Object Pascal застосовувалась і в наступних версіях Borland Delphi.
Проте з часом сторонні розробники почали застосовувати таку назву для власних версій Pascal. 2001 року, із випуском Delphi 6.0, компанія Borland відмовилася від назви Object Pascal і назвала мову програмування, що застосована в Borland Delphi, мовою програмування Delphi.
Версії
У перших версіях Borland використовувала для мови програмування назву Object Pascal, але пізніше перейменувала її на Delphi. Компілятори, для яких декларується сумісність із Object Pascal, часто намагаються робити сумісними з сирцевим кодом Delphi.[джерело?] Оскільки Delphi — торговельна марка, то сумісні компілятори продовжують використовувати назву Object Pascal.
Підтримка .NET існувала від Delphi 8 до Delphi 2005, 2006 та 2007, яку тепер замінила інша мова, Oxygene (див. нижче), яка не повністю зворотно сумісна.
Мова Smart Pascal[en][5] орієнтована на ECMAScript — JavaScript і використовується в Smart Mobile Studio, яку написав Джон Леннарт Аасенден та опублікувала Optimale Systemer (2012). Мова значно спрощує розробку HTML5 завдяки об'єктно-орієнтованим методам та методам швидкої розробки застосунків (RAD). Smart Pascal тісно інтегрується з усталеними технологіями, такими як node.js, Embarcadero DataSnap та Remobjects SDK, для створення високопродуктивних вебзастосунків клієнт-серверної моделі. Мова дає змогу легко створювати візуальні компоненти та бібліотеки повторного використання. Діалект Smart Pascal походить від мови DWScript, розширеної для кращої інтеграції з середовищем та бібліотеками JavaScript, такими як розділи asm, написані простим JavaScript, але мають доступ до символів Pascal, або зовнішні класи, які безпосередньо відображаються на прототипні класи JavaScript. Smart Pascal вводить справжнє успадкування, класи, часткові класи, інтерфейси, таблицю віртуальних методів та багато інших розширених конструкцій, які типово не є частиною JavaScript.
Мова програмування Morfik[en] Pascal, розроблена компанією Morfik, орієнтована на вебзастосунки з підтримкою AJAX. Компілятор, вбудований в ІСР AppsBuilder компанії, дає змогу використовувати код Object Pascal для реалізації коду для виконання в браузері або на сервері. Для генерування рідних двійкових файлів з Object Pascal він використовує компілятор Free Pascal.
Turbo51 — безкоштовний компілятор для програмування мікросхем Intel 8051.[6]
WDSibyl — Delphi-подібне ІСР та компілятор із відкритим сирцевим кодом, доступний для Microsoft Windows та OS/2,[7] — комерційне середовище, сумісне з Turbo Pascal, випущене компанією Speedsoft, яке пізніше було стало основою для Delphi-подібного середовища під назвою Sybil, а після закриття цієї компанії опубліковане під ліцензією GPL. Нині його підтримує Вольфганг Дракслер (WD).[8][9][10] Використаний компілятор, схоже, міститься в DLL і не є компілятором з відкритим сирцевим кодом.[джерело?]
Компілятори
Є багато компіляторів, більш чи менш сумісних з Delphi Object Pascal. Вони дозволяють будувати програми на Object Pascal для різноманітних платформ та підпадають під різні ліцензії. Компілятори, що заявлені як Object Pascal-сумісні, дуже часто намагаються бути сумісними із вихідними кодами Delphi.
Delphi є, мабуть, найвідомішим компілятором. Дозволяє компілювати для Win16 (Delphi 1), Win32 (Delphi 2+), Win64 (Delphi XE2+), для .NET 1.x, 2.0 (Delphi 8, Delphi 2005—2007), Mac OS (Delphi XE2+), iOS (Delphi XE2+) та Android (Delphi XE5+).
Pascal Script (раніше InnerFuse) та DWScript (Delphi Web Script) — це інтерпретатори та скриптові механізми з відкритим кодом для Object Pascal, написані на Delphi. Вони підтримують підмножини Object Pascal. DWScript також може компілювати код Object Pascal у код JavaScript (Smart Pascal) та підтримує JIT-компіляцію. Modern Pascal надає 3 різні інтерпретатори: інтерфейс командного рядка (CLI), модуль Apache (Celerity) та CodeRunner (рішення, подібне до node.js, здатне обробляти різні скрипти для кожного порту), окрім можливості компілювати та захищати сирцевий код скрипту.[11]
programObjectPascalExample;typePHelloWorld=^THelloWorld;THelloWorld=objectprocedurePut;end;varHelloWorld:PHelloWorld;{ це вказівник на THelloWorld }procedureTHelloWorld.Put;beginWriteLn('Hello, World!');end;beginNew(HelloWorld);HelloWorld^.Put;Dispose(HelloWorld);end.