Object Pascal

Sejarah awal di Apple

Object Pascal merupakan sambungan kepada bahasa pengaturcaraan Pascal yang dibangunkan di Apple Computer oleh pasukan yang diketuai Larry Tesler dengan khidmat nasihat oleh Niklaus Wirth, pencipta Pascal. Ia warisan dari versi Paskal berorentasikan objek lebih awal yang dikenali sebagai Clascal, yang kini dikenali sebagai komputer Lisa.
Object Pascal diperlukan bagi menyokong MacApp, applikasi framework Macintosh disambung yang kini dikenalis sebagai perpustakaan kelas (class library). Sambungan Object Pascal dan MacApp iti sendiri dimajukan oleh Barry Hanes, Ken Doyle, Larry Rosenstein, dan diuji oleh Dan Allen. Larry Tesler menyelia projek ini, yang bermula awal 1985 dan menjadi produk pada tahun 1986.
Apple menghentikan sokongan bagi Object Pascal apabila mereka berhijrah dari cip Motorola 68K kepada senibina IBM's PowerPC pada tahun 1994.

Tahun Borland

Pada tahun 1986, Borland memperkenalkan tambahan serupa, juga dikenali sebagai Object Pascal, bagi keluaran Turbo Pascal bagi Macintosh, dan pada 1989 untuk Turbo Pascal 5.5 bagi DOS. Apabila Borland menumpu kembali dari DOS kepada Windows pada tahun 1994, mereka mencipta pengganti Turbo Pascal, dikenali sebagai Delphi dan memperkenalkan set baru sambungan bagi mencipta apa yang sekarang ini dikenali sebagai bahasa Delphi language. Pembangunan development bermula sekitar 1993 dan Delphi 1.0 dibebaskan secara rasmi di was officially released in US pada 14 Februari 1995. Ia menonjolkan sintak tidak serasi menggunakan katakunci class menggantikan object, pembina Create dan pemusnah Destroy maya (dan menyingkirkan keperluan memangil New dan Dispose procedures), properties, penujuk kaedah (method pointers), dan yang lain-lain. Ini jelas diilhamkan oleh lakaran kerja ISO bagi sambungan berorentasikan objek, tetapi banyak perbezaan dengan loghat Turbo Pascal (sebagaimana dinyatakan dalam lakaran ISO bahawa semua kaedah secara maya) diabaikan. Bahasa Delphi terus berkembang sepanjang tahun bagi menyokong konsep bahasa baru seperti integer 64-bit dan jujukan dinamik (dynamic arrays).

Penterjemah

Pascal Script (dahulunya dikenali sebagai InnerFuse) adalah sumber terbuka penterjemah/enjin skrip Object Pascal yang ditulis menggunakan Delphi. Menyokong subset Object Pascal secara terhad.

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; { this is a pointer to a THelloWorld }
 procedure THelloWorld.Put;
 begin
   WriteLn('Hello, World!');
 end;
 begin
   New(HelloWorld);
   HelloWorld^.Put;
   Dispose(HelloWorld);
 end.

Object Pascal Delphi

program ObjectPascalExample;
 type
   THelloWorld = class
     procedure Put;
   end;
 var
   HelloWorld: THelloWorld;
 procedure THelloWorld.Put;
 begin
   WriteLn('Hello, World!');
 end;
 begin
   HelloWorld := THelloWorld.Create;
   HelloWorld.Put;
   HelloWorld.Free;
 end.

Object Pascal Chrome

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.