Object Pascal är en utveckling av programspråket Pascal som utökar det till ett objektorienterat programspråk. Språket Pascal är, liksom C, imperativt och saknar stöd för objektorienterad programmering som idag tagit över mycket av marknaden vilket uppmuntrade utvecklingen av Object Pascal. Programspråket utvecklades på Apple av Larry Tesler och är influerat av programspråket Clascal, som utvecklades tidigare som en typ av objektorienterad variant av Pascal. Objekt Pascal dök upp för första gången på Apples dator Lisa.[1]

Idag finns flera dialekter av programspråket, utvecklade både från företag som sysslar med öppen och stängd källkod. De mest kända dialekterna är Delphi (utvecklat ur Turbo Pascal) och Free Pascal[2]. Båda är mycket lika både vad gäller vilka bibliotek som använda och syntaxmässigt. Många program som skrivs för det ena kan lätt anpassas[3] att kompileras med det andra. Efter version 6 av Delphi, slutade Borland kalla sin version av språket Object Pascal och tog namnet Delphi istället, vilket gör att man kan säga att Free Pascal är den ledande Object Pascal-kompilatorn, även om språket Delphi bara är en mindre ändring av Object Pascal. Dock tillhandahålls Delphi endast för Windows och endast en processortyp[4], medan Object Pascal (Free Pascals implementation) finns i 14 officiella versioner[5] för diverse plattformar och processortyper och även mindre system som används som t.ex. handdatorer eller dylikt.

Object Pascal har traditionellt kopplas ihop med dess bibliotek för grafisk utveckling, då Delphi utvecklas med ett stort stöd för grafiska komponenter i Windows med biblioteket VCL. Free Pascal har även implementerat en motsvarighet till detta kallat LCL[6]. Delphi har idag fortsatt att fokusera på grafisk utveckling, både i .NET och Windows. Free Pascal har, även om det fokuserar i sitt project Lazarus på grafisk utveckling och LCL-biblioteket, på att kunna utveckla icke-grafiska program och kunna på det sättet stödja sådant som C++-kompilatorn GCC/G++ stödjer.

Det har debatterats mycket om hastighet och huruvida C++ eller Object Pascal är mer lämpligt för mer krävande program. Språken är även mycket olika, vilket ofta poängteras i dessa diskussioner. [7]

Exempel på kod i Object Pascal[8] redigera

program ObjectPascalExample;

type
  THelloWorld = class
    procedure Put;
  end;

procedure THelloWorld.Put;
begin
  Writeln('Hello, World!');
end;

var
  HelloWorld: THelloWorld;               { implicit pekare }

begin
  HelloWorld := THelloWorld.Create;      { konstruktorns ger en pekare }
  HelloWorld.Put;                        
  HelloWorld.Free;                       { släpper pekaren }
end.

Källor redigera

  1. ^ Engelska Wikipedia
  2. ^ ”Advanced open source Pascal compiler for Pascal and Object Pascal”. Arkiverad från originalet den 25 januari 1999. https://web.archive.org/web/19990125095436/http://www.freepascal.org/. Läst 24 februari 2020. 
  3. ^ ”Code Conversion Guide”. Wiki.freepascal.org. http://wiki.freepascal.org/Code_Conversion_Guide. 
  4. ^ Embarcadero Technologies (17 februari 2009). ”Delphi from Embarcadero”. Embarcadero. Arkiverad från originalet den 28 februari 2009. https://web.archive.org/web/20090228080527/http://embarcadero.com/products/delphi/index.php. 
  5. ^ ”Download”. Free Pascal. Arkiverad från originalet den 19 juli 2009. https://web.archive.org/web/20090719000541/http://www.freepascal.org/download.var. Läst 28 juli 2009. 
  6. ^ ”Object Pascal History”. Wiki.freepascal.org. 10 januari 2010. Arkiverad från originalet den 8 maj 2009. https://web.archive.org/web/20090508043555/http://wiki.freepascal.org/Object_Pascal_History. Läst 22 juli 2009. 
  7. ^ ”Life Pascal Site » Object Pascal beats C”. Pascalife.dikti.net. 17 mars 2009. http://pascalife.dikti.net/?p=68. 
  8. ^ Hämtat från engelska Wikipedia