Hoppa till innehÄllet

Object Pascal

FrÄn Wikipedia

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 | redigera wikitext]
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.
  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. Arkiverad frĂ„n originalet den 11 juni 2009. https://web.archive.org/web/20090611035136/http://pascalife.dikti.net/?p=68. LĂ€st 22 juli 2009.
  8. ↑ HĂ€mtat frĂ„n engelska Wikipedia