Топ питань
Часова шкала
Чат
Перспективи
Object Pascal
З Вікіпедії, вільної енциклопедії
Remove ads
Object Pascal — об'єктно-орієнтована мова програмування, нащадок Pascal, більш знана як основна мова програмування середовища Delphi.
Remove ads
Історія назви
У вересні 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.
Remove ads
Версії
- У перших версіях Borland використовувала для мови програмування назву Object Pascal, але пізніше перейменувала її на Delphi. Компілятори, для яких декларується сумісність із Object Pascal, часто намагаються робити сумісними з сирцевим кодом Delphi.[джерело?] Оскільки Delphi — торговельна марка, то сумісні компілятори продовжують використовувати назву Object Pascal.
- Компанія Embarcadero Technologies, яка придбала Delphi 2008 року,[3] продає інтегроване середовище розробки (ІСР) Delphi, яке компілює діалект Delphi Object Pascal для Windows, macOS, iOS, Android та Web.
- Підтримка .NET існувала від Delphi 8 до Delphi 2005, 2006 та 2007, яку тепер замінила інша мова, Oxygene (див. нижче), яка не повністю зворотно сумісна.
- Мова Oxygene, розроблена RemObjects Software[en], орієнтована на Common Language Infrastructure[en], середовище виконання Java та фреймворки Apple Cocoa для iOS та macOS.
- Проєкт Free Pascal з відкритим сирцевим кодом дозволяє компілювати мову для широкого спектра операційних систем, серед яких Linux (32-розрядна, 64-розрядна), FreeBSD, Classic Mac OS[en], macOS, Solaris, Windows API (32, 64, CE), архітектуру набору інструкцій ARM та кілька інших апаратних архітектур. Перша версія Free Pascal для комплекту розробки програмного забезпечення (SDK) iPhone 2.x анонсовано 17 січня 2009 року.[4]
- Мова 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.
- Компілятор GNU Pascal[en] з відкритим кодом доступний як інтерфейс до колекції компіляторів GNU, яка реалізує стандарт Міжнародної організації зі стандартизації (ISO) 7185 Pascal та більшу частину стандарту ISO 10206 Extended Pascal.
- Turbo51 — безкоштовний компілятор для програмування мікросхем Intel 8051.[6]
- WDSibyl — Delphi-подібне ІСР та компілятор із відкритим сирцевим кодом, доступний для Microsoft Windows та OS/2,[7] — комерційне середовище, сумісне з Turbo Pascal, випущене компанією Speedsoft, яке пізніше було стало основою для Delphi-подібного середовища під назвою Sybil, а після закриття цієї компанії опубліковане під ліцензією GPL. Нині його підтримує Вольфганг Дракслер (WD).[8][9][10] Використаний компілятор, схоже, міститься в DLL і не є компілятором з відкритим сирцевим кодом.[джерело?]
Remove ads
Компілятори
Є багато компіляторів, більш чи менш сумісних з 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+).
- Borland Kylix — спроба розробити варіант Delphi для Linux.
- Free Pascal
- GNU Pascal
- Virtual Pascal
- Oxygene
- MIDletPascal
- PocketStudio
Інтерпретатори
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]
Remove ads
Приклади програми «Hello, world!»
Object Pascal (Apple)
program ObjectPascalExample;
type
THelloWorld = object
procedure Put;
end;
var
HelloWorld: THelloWorld;
procedure THelloWorld.Put;
begin
WriteLn('Hello, World!');
end;
begin
New(HelloWorld);
HelloWorld.Put;
Dispose(HelloWorld);
end.
Object Pascal (Turbo Pascal)
program ObjectPascalExample;
type
PHelloWorld = ^THelloWorld;
THelloWorld = object
procedure Put;
end;
var
HelloWorld: PHelloWorld; { це вказівник на THelloWorld }
procedure THelloWorld.Put;
begin
WriteLn('Hello, World!');
end;
begin
New(HelloWorld);
HelloWorld^.Put;
Dispose(HelloWorld);
end.
Object Pascal (Delphi та Free Pascal)
program ObjectPascalExample;
type
THelloWorld = class
procedure Put;
end;
procedure THelloWorld.Put;
begin
Writeln('Hello, World!');
end;
var
HelloWorld: THelloWorld; { це неявний вказівник }
begin
HelloWorld := THelloWorld.Create; { конструктор повертає вказівник }
HelloWorld.Put;
HelloWorld.Free; { розіменування вказівника}
end.
Object Pascal (Oxygene)
namespace ObjectPascalExample;
interface
type
ConsoleApp = class
class method Main
end;
THelloWorld = class
method Put;
end;
implementation
method THelloWorld.Put;
begin
Console.WriteLine('Hello, World!');
end;
class method ConsoleApp.Main;
begin
var HelloWorld := new THelloWorld;
HelloWorld.Put;
end;
end.
Remove ads
Службові слова
Додаткові службові слова для підтримки об'єктно-орієнтованого програмування:
object
class
public
virtual
constructor
destructor
Див. також
Примітки
Джерела
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads