Object Pascal: Porovnání verzí
m Robot: Automatické nahrazení textu (-{{Pahýl}} +{{softwarový pahýl}}) |
Vzhledem k tomu, že původní článek byl pahýl, přeložil jsem namísto něj článek z en. |
||
Řádek 1: | Řádek 1: | ||
== Raná historie v Apple == |
|||
'''Object Pascal''' je rozšíření [[programovací jazyk|programovacího jazyka]] [[Pascal]] o některé vlastnosti [[objektově orientované programování|objektově orientovaného programování]]. Toto rozšíření vytvořila firma [[Borland]] pro použití ve svém vývojovém nástroji Borland [[Delphi]]; proto se také označuje prostě jako „programovací jazyk Delphi“. |
|||
'''Object Pascal''' vytvořili v roce [[1985]] pro společnost [[Apple|Apple Computer]] [[Niklaus Wirth]] a [[Larry Tesler]] a rozšiřoval existující [[programovací jazyk]] [[Pascal (programovací jazyk)|Pascal]] o [[Objektově orientované programování|objektově orientovaný]] přístup. |
|||
Nevýhodou Object Pascalu je to, že nemá žádnou normu, a je to v podstatě proprietární [[programovací jazyk]] firmy [[Borland]]. |
|||
Object Pascal vznikl za účelem vývoje [[MacApp]], aplikačního rozhraní pro [[Počítač|počítače]] [[Apple Macintosh|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]]. Na celý projek dohlížel Larry Tesler. |
|||
Firma [[Borland]] použila Object Pascal jako [[programovací jazyk]] u svých produktů [[Turbo Pascal]] a [[Delphi]]. |
|||
Společnost Apple přestala jazyk Object Pascal podporovat v roce [[1994]], kdy přešla z [[Motoroly]] [[68K]] na architekturu [[IBM]] [[PowerPC]]. |
|||
Kromě Delphi jsou některé vlastnosti Object Pascalu podporovány i v některých dalších pascalských překladačích (obvykle z řad [[svobodný software|svobodného software]]), např. ve [[Free Pascal]]u. |
|||
== Léta Borlandu == |
|||
{{softwarový pahýl}} |
|||
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 [[MS-DOS|DOS]]. Jazyk pojmenovala Object Pascal. Když Borland v roce [[1994]] přesunul svou pozornost od DOSu k [[Microsoft Windows|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 <tt>class</tt> namísto <tt>object</tt>, 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č|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: |
|||
* [http://www.vpascal.com/ Virtual Pascal] (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. |
|||
* [http://www.winsoft.sk/pstudio.htm 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ý, nicméně stále je v prodeji. |
|||
* [http://www.remobjects.com/page.asp?id={C5B896C5-5C61-4C1C-A617-136711C07F46} 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ší. |
|||
== 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. |
|||
=== Turbo Pascalovský 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. |
|||
=== Delphi 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: |
|||
*[http://info.borland.com/techpubs/delphi/delphi5/ Delphi 5 "Object Pascal Language Guide"] ([ftp://ftp.borland.com/pub/delphi/techpubs/delphi5/oplg.zip PDF], [ftp://ftp.borland.com/pub/delphi/techpubs/delphi5/d5oplr.zip Windows Help]) |
|||
*[ftp://ftpc.borland.com/pub/delphi/techpubs/delphi1/objlang.zip Delphi 1.0 Object Pascal Language Reference Guide] |
|||
*[http://community.borland.com/soapbox/techvoyage/article/1,1795,10280,00.html Object Pascal Style Guide] |
|||
[http://www.freepascal.org/ Free Pascal] – reference jazyka Object Pascal: |
|||
*[http://www.freepascal.org/docs/ref.pdf Aktuální verze Object Pascal Ref guide (PDF)] |
|||
*[http://www.freepascal.org/docs-html/ref/ref.html Aktuální verze Object Pascal Ref guide (html)] |
|||
*[http://www.freepascal.org/fpcmac.html Aktuální stav podpory rozšíření Mac Pascal] |
|||
[http://www.gnu-pascal.de GNU Pascal(GPC)]: |
|||
*[http://www.microbizz.nl/gpcdiffs.html GPC Rozdíly oproti Mac Pascalu] |
|||
[[Kategorie:Programovací jazyky]] |
[[Kategorie:Programovací jazyky]] |
||
[[ar:دلفي]] |
|||
[[ |
[[ja:Object Pascal]] |
||
[[ |
[[nl:Object Pascal]] |
||
[[ |
[[pl:Object Pascal]] |
||
[[en:Delphi programming language]] |
|||
[[es:Delphi]] |
|||
[[fr:Delphi]] |
|||
[[it:Delphi]] |
|||
[[ja:Delphi]] |
|||
[[nl:Programmeertaal Delphi]] |
|||
[[pl:Delphi]] |
|||
[[ru:Object Pascal]] |
|||
[[sv:Delphi (programspråk)]] |
|||
[[zh:Delphi编程语言]] |
Verze z 7. 9. 2005, 16:04
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. Na celý projek dohlížel Larry Tesler.
Společnost Apple přestala jazyk Object Pascal podporovat v roce 1994, kdy přešla z Motoroly 68K na architekturu IBM PowerPC.
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. 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:
- Virtual Pascal (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ý, nicméně stále je v prodeji.
- 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ší.
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.
Turbo Pascalovský 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.
Delphi 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:
- Delphi 5 "Object Pascal Language Guide" (PDF, Windows Help)
- Delphi 1.0 Object Pascal Language Reference Guide
- Object Pascal Style Guide
Free Pascal – reference jazyka Object Pascal: