Object Pascal
Author
Albert FloresObject Pascal je rozšíření programovacího jazyka Pascal o některé vlastnosti objektově orientovaného programování.
Raná historie v Apple
Object Pascal vytvořili v roce 1985 pro společnost Apple Computer Niklaus Wirth a Larry Tesler a rozšiřoval existující programovací jazyk Pascal o objektově orientovaný přístup.
Object Pascal vznikl za účelem vývoje MacApp, aplikačního rozhraní pro počítače Macintosh (dnes bychom spíš řekli knihovny tříd). Rozšíření v Object Pascalu i MacApp samotný vyvinuli Barry Hanes, Ken Doyle a Larry Rosenstein, testoval je Dan Allen. +more Na celý projekt dohlížel Larry Tesler.
Společnost Apple přestala jazyk Object Pascal podporovat v roce 1994 v souvislosti s přechodem z procesorové architektury Motoroly 68K na PowerPC od IBM.
Léta Borlandu
V roce 1986 zavedla společnost Borland obdobná rozšíření do svého produktu Turbo Pascal pro počítače Macintosh a v roce 1989 také do Turbo Pascalu 5. 5 pro DOS. +more Jazyk pojmenovala Object Pascal. Když Borland v roce 1994 přesunul svou pozornost od DOSu k Windows, přejmenoval Turbo Pascal na Delphi a uvedl řadu nových rozšíření taktéž s označením Object Pascal. Zrušil však zpětnou kompatibilitu použitím klíčového slova class namísto object, konstruktoru Create a virtuálního destruktoru Destroy, vlastností, ukazatelů na metody a několika dalších věcí.
Open source překladače s podporou Apple
V současné době (2005) se jak Free Pascal, tak GNU Pascal snaží zachovat kompatibilitu s Mac Pascalem. Free Pascal umožňuje do určité míry kombinaci objektů v Delphi módu s objekty v Apple Pascalu.
Překladače
Vedle již zmíněných překladačů Delphi, Free Pascal a GNU Pascal je zde několik dalších, povětšinou klony Delphi, implementující části Object Pascalu, buď v dialektu Applu nebo Borlandu:
* [url=http://vpascal. ning. +morecom]Virtual Pascal[/url] (dialekt Delphi) - jednoduchý Turbo Pascal a Delphi 2 kompatibilní překladač, s podporou pro OS/2, Windows, DOS a částečně Linux. V současné době je vývoj ukončen. * Pocket Studio (dialekt Delphi) - překladač/RAD, zaměřený na ARM/Palm s několika vlastními rozšířeními. Současný stav vývoje není známý, ani to, zda je stále v prodeji. * [url=http://www. remobjects. com/oxygene]Oxygene[/url] (dříve známý jako Chrome) - je zásuvný modul pro Visual Studio a nativní . NET/Mono překladač pro příkazový řádek. Zaměřuje se na platformu . NET či Mono a z uvedených překladačů je nejnovější.
Object Pascal používá vývojové prostředí (IDE) Lazarus.
Ukázka kódu
Apple Object Pascal
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.
Turbopaskalový Object Pascal
program ObjectPascalExample;
type PHelloWorld = ^THelloWorld; THelloWorld = object procedure Put; end;
var HelloWorld: PHelloWorld;
procedure THelloWorld.Put; begin WriteLn('Hello, World!'); end;
begin New(HelloWorld); HelloWorld^.Put; Dispose(HelloWorld); end.
Delfský Object Pascal
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.
Externí odkazy
Delphi - průvodce jazykem Object Pascal pro Delphi:
* [url=https://web. archive. +moreorg/web/20070204220416/http://portal. aauj. edu/portal_resources/downloads/programming/delphi_object_pascal_language_guide. pdf]Delphi 5 „Object Pascal Language Guide“[/url] * [url=http://edn. embarcadero. com/article/10280]Object Pascal Style Guide[/url].
[url=http://www.freepascal.org/]Free Pascal[/url] - reference jazyka Object Pascal:
* [ftp://ftp. freepascal. +moreorg/pub/fpc/docs-pdf/ref. pdf Aktuální verze Object Pascal Reference guide od Michaëla Van Canneyta (pdf)] * [url=http://www. freepascal. org/docs-html/current/ref/ref. html]Aktuální verze Object Pascal Reference guide od Michaëla Van Canneyta (html)[/url] * [url=https://web. archive. org/web/20160531180856/http://www. freepascal. org/fpcmac. var]Aktuální stav podpory rozšíření Mac Pascal[/url].
[url=http://www.gnu-pascal.de/gpc/h-index.html]GNU Pascal(GPC)[/url]:
* [url=http://www.microbizz.nl/gpcdiffs.html]GPC Rozdíly oproti Mac Pascalu[/url]
Kategorie:Programovací jazyky Kategorie:Objektově orientované programovací jazyky