Object Pascal: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
Addbot (diskuse | příspěvky)
m Bot: Odstranění 24 odkazů interwiki, které jsou nyní dostupné na Wikidatech (d:q633894)
m typografía a bohemizmy, aktualizace odkazů resp. eliminace
Řádek 1: Řádek 1:
'''Object Pascal''' je rozšíření [[programovací jazyk|programovacího jazyka]] [[Pascal (programovací jazyk)|Pascal]] o některé vlastnosti [[objektově orientované programování|objektově orientovaného programování]].
'''Object Pascal''' je rozšíření [[programovací jazyk|programovacího jazyka]] [[Pascal (programovací jazyk)|Pascal]] o některé vlastnosti [[objektově orientované programování|objektově orientovaného programování]].

== Raná historie v Apple ==
== Raná historie v Apple ==
'''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.


Object Pascal vznikl za účelem vývoje [[MacApp]], aplikačního rozhraní pro [[Počítač|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ý projekt dohlížel Larry Tesler.
'''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.


Společnost Apple přestala jazyk Object Pascal podporovat v roce [[1994]] v souvislosti s přechodem z procesorové architektury [[Motorola|Motoroly]] [[68K]] na [[PowerPC]] od [[IBM]].
Object Pascal vznikl za účelem vývoje [[MacApp]], aplikačního rozhraní pro [[Počítač|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ý projekt dohlížel Larry Tesler.

Společnost Apple přestala jazyk Object Pascal podporovat v roce [[1994]], kdy přešla z [[Motorola|Motoroly]] [[68K]] na architekturu [[IBM]] [[PowerPC]].


== Léta Borlandu ==
== 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&nbsp;roce [[1989]] také do Turbo Pascalu&nbsp;5.5 pro [[DOS]]. Jazyk pojmenovala Object Pascal. Když Borland v&nbsp;roce [[1994]] přesunul svou pozornost od DOSu k&nbsp;[[Microsoft Windows|Windows]], přejmenoval Turbo Pascal na [[Delphi]] a uvedl řadu nových rozšíření taktéž s&nbsp;označením Object Pascal. Zrušil však zpětnou kompatibilitu použitím klíčového slova <code>class</code> namísto <code>object</code>, konstruktoru <code>Create</code> a virtuálního destruktoru <code>Destroy</code>, vlastností, ukazatelů na metody a několika dalších věcí.

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 [[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 <code>class</code> namísto <code>object</code>, konstruktoru <code>Create</code> a virtuálního destruktoru <code>Destroy</code>, vlastností, ukazatelů na metody a několika dalších věcí.


== Open source překladače s podporou Apple ==
== Open source překladače s podporou Apple ==
V současné době ([[2005]]) se jak [[Free Pascal]], tak [[GNU Pascal]] snaží zachovat kompatibilitu s&nbsp;Mac Pascalem. Free Pascal umožňuje do určité míry kombinaci objektů v&nbsp;Delphi módu s&nbsp;objekty v&nbsp;Apple Pascalu.

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 ==
== 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&nbsp;dialektu Applu nebo Borlandu:


* [http://vpascal.ning.com '''Virtual Pascal'''] (dialekt Delphi) jednoduchý Turbo Pascal a Delphi&nbsp;2 kompatibilní překladač, s&nbsp;podporou pro [[OS/2]], Windows, DOS a částečně [[Linux]]. V&nbsp;současné době je vývoj ukončen.
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:
* '''Pocket Studio''' (dialekt Delphi) překladač/RAD, zaměřený na [[ARM]]/[[Palm]] s&nbsp;několika vlastními rozšířeními. Současný stav vývoje není známý, ani to, zda je stále v&nbsp;prodeji.

* [http://www.remobjects.com/oxygene '''Oxygene'''] (dříve známý jako '''Chrome''') – je zásuvný modul pro Visual Studio a nativní [[.NET]]/[[Mono (platforma)|Mono]] překladač pro [[příkazový řádek]]. Zaměřuje se na platformu .NET či Mono a z&nbsp;uvedených překladačů je nejnovější.
* [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 (platforma)|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 ==
== Ukázka kódu ==


=== Apple Object Pascal ===
=== Apple Object Pascal ===

program ObjectPascalExample;
program ObjectPascalExample;
Řádek 49: Řádek 45:
end.
end.


=== Turbo Pascalovský Object Pascal ===
=== ''Turbopaskalový'' Object Pascal ===

program ObjectPascalExample;
program ObjectPascalExample;
Řádek 73: Řádek 68:
end.
end.


=== Delphi Object Pascal ===
=== ''Delfský'' Object Pascal ===

program ObjectPascalExample;
program ObjectPascalExample;
Řádek 97: Řádek 91:


== Externí odkazy ==
== Externí odkazy ==

Delphi – průvodce jazykem Object Pascal pro Delphi:
Delphi – průvodce jazykem Object Pascal pro Delphi:


* {{en}} [http://portal.aauj.edu/portal_resources/downloads/programming/delphi_object_pascal_language_guide.pdf Delphi 5 „Object Pascal Language Guide“]
* {{en}} [http://portal.aauj.edu/portal_resources/downloads/programming/delphi_object_pascal_language_guide.pdf Delphi&nbsp;5 „Object Pascal Language Guide“]
* {{en}} [http://dn.codegear.com/article/10280 Object Pascal Style Guide]
* {{en}} [http://edn.embarcadero.com/article/10280 Object Pascal Style Guide]


[http://www.freepascal.org/ Free Pascal] – reference jazyka Object Pascal:
[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)]
* {{en}} [ftp://ftp.freepascal.org/pub/fpc/docs-pdf/ref.pdf Aktuální verze Object Pascal Reference guide od Michaëla Van Canneyta (<tt>pdf<tt/>)]
* [http://www.freepascal.org/docs-html/ref/ref.html Aktuální verze Object Pascal Ref guide (html)]
* {{en}} [http://www.freepascal.org/docs-html/current/ref/ref.html Aktuální verze Object Pascal Reference guide od Michaëla Van Canneyta (<tt>html<tt/>)]
* [http://www.freepascal.org/fpcmac.html Aktuální stav podpory rozšíření Mac Pascal]
* {{en}} [http://www.freepascal.org/fpcmac.var Aktuální stav podpory rozšíření Mac Pascal]


[http://www.gnu-pascal.de GNU Pascal(GPC)]:
[http://www.gnu-pascal.de/gpc/h-index.html GNU Pascal(GPC)]:


* [http://www.microbizz.nl/gpcdiffs.html GPC Rozdíly oproti Mac Pascalu]
* {{en}} [http://www.microbizz.nl/gpcdiffs.html GPC Rozdíly oproti Mac Pascalu]


{{Programovací jazyky}}
{{Programovací jazyky}}

Verze z 22. 6. 2016, 13:59

Object 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. 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. 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ý, ani to, zda je stále v prodeji.
  • Oxygene (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ší.

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:

Free Pascal – reference jazyka Object Pascal:

GNU Pascal(GPC):