Топ питань
Часова шкала
Чат
Перспективи

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

Див. також

Примітки

Джерела

Посилання

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads