Object Pascal
Object Pascal on Pascal-ohjelmointikielen objektiorientoitunut johdannainen, joka tunnetaan parhaiten Borland Delphin kehitysympäristön alkuperäisenä ohjelmointikielenä. Delphi onkin tunnetuin Object Pascalin murre.
Object Pascal | |
---|---|
Paradigma | olio-ohjelmointi |
Vaikutteet | Pascal (ohjelmointikieli) |
Murteet | Delphi |
Borland käytti nimeä "Object Pascal" Delphin ensimmäisissä versioissa mutta myöhemmin nimesi sen uudestaan Delphi ohjelmointikieleksi. Monet Object Pascal -kääntäjät pyrkivät kuitenkin olemaan Delphin kanssa yhteensopivia.
Borlandin integroitu Delphi-kehitysympäristö on saatavana Microsoft Windows - ja Linux-alustoille. Avoimen lähdekoodin Free Pascal tukee Object Pascal -kehitystä Intel x86 (sisältäen 8086), AMD64/x86-64, PowerPC, PowerPC64, SPARC, ARM, AArch64, MIPS, JVM, Linux, FreeBSD, Haiku, Mac OS X/iOS/iPhoneSimulator/Darwin, DOS (16- ja 32-bittinen), Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, Wii, Android, AIX ja AROS.[1]
Object Pascalin alku Apple-tietokoneissa
muokkaaObject Pascalin historia alkoi Pascal-ohjelmointikielen laajennuksena, jonka Larry Teslerin johtama tiimi kehitti Applella yhteistyössä Pascalin keksijä Niklaus Wirthin kanssa. Se perustui aiempaan Apple Lisa -tietokoneessa käytettyyn Clascal-nimiseen oliopohjaiseen Pascal-versioon.
Apple lopetti Object Pascalin tukemisen siirtyessään Motorola 68000 -sarjan suorittimista PowerPC -suorittimiin 1994.
Borland aikakausi
muokkaaVuonna 1986 Borland julkisti Turbo Pascalin Macintosh-versioon objektilaajennuksen, jota se kutsui Object Pascaliksi. Se tuotiin myös MS-DOS-ympäristöön Turbo Pascal versiossa 5.5 vuonna 1989.
Windowsiin Object Pascal tuli Turbo Pascal for Windows -versiossa, ja vuonna 1994 Borland julkisti Turbo Pascalin seuraajan, Delphin. Delphissä Borland esitteli uusia objektilaajennuksia, joiden rakenne ja nimeäminen muistutti muissa objektiorientoituneissa kielissä käytettyjä, kuten class
, constructor
ja destructor
.
Object Pascal kääntäjät
muokkaaObject Pascalille on olemassa suuri joukko kääntäjiä, jotka ovat paremmin tai huonommin yhteensopivia Delphin Object Pascal -kääntäjän kanssa. Monet näistä kääntävät Object Pascal -lähdekoodia tietyille alustoille.
- Borland Delphi on tunnetuin Object Pascal -kääntäjä. Sen avulla lähdekoodin voi kääntää Win16-, Win32- ja .NET-ympäristöihin.
- Borland Kylix on Delphin Linux-versio tietyille Linux-versioille.
- Free Pascal on komentorivipohjainen kääntäjä, joka tukee sekä Turbo Pascalin että Delphin Object Pascal -versioita. Nykyinen versio on 2.0(.4), joka on varsin hyvin Delphi 6/7 -yhteensopiva. Free Pascal toimii useimmissa x86-pohjaisissa laitteistoissa ja tukee Linuxia, Mac OS:ää ja Mac OS X:ää PowerPC-alustalla, sekä Linuxia AMD64-, SPARC- ja Acorn RISC -prosessoreilla.
- GNU Pascal Osa GNU-kääntäjäkokoelmaa. Saatavissa hyvin suurelle joukolle erilaisia laitealustoja ja käyttöjärjestelmiä.
- InnerFuse (Arkistoitu – Internet Archive) on Delphi tulkki sulautettuihin järjestelmiin.
- Virtual Pascal oli x86 32-bit Turbo Pascal - ja Delphi-yhteensopiva kääntäjä, joka on tarkoitettu lähinnä OS/2- ja Windows-ympäristöihin. Sen tuki on viime aikoina hiipunut.
- Chrome programming language on Object Pascal -lisäohjelma Visual Studioon ja .NET-alustalle.
Hello World esimerkki
muokkaaApplen Object Pascal
muokkaa 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 Pascalin Object Pascal
muokkaa program ObjectPascalExample;
type
PHelloWorld = ^THelloWorld;
THelloWorld = object
procedure Put;
end;
var
HelloWorld: PHelloWorld; { this is a pointer to a THelloWorld }
procedure THelloWorld.Put;
begin
WriteLn('Hello, World!');
end;
begin
New(HelloWorld);
HelloWorld^.Put;
Dispose(HelloWorld);
end.
Delphin Object Pascal
muokkaa 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.
Chromen Object Pascal
muokkaa namespace ObjectPascalExample;
interface
type
ConsoleApp = class
class method Main;
end;
THelloWorld = class
method Put;
end;
implementation
method THelloWorld.Put;
begin
Console.WriteLine('Hello, World!');
end;
class method ConsoleApp.Main;
begin
var HelloWorld := new THelloWorld;
HelloWorld.Put;
end;
end.
Katso myös
muokkaaLähteet
muokkaa- ↑ Free Pascal - Advanced open source Pascal compiler for Pascal and Object Pascal - Home Page www.freepascal.org. Viitattu 6.1.2016.
Aiheesta muualla
muokkaaJohdanto Object Pascal kieleen:
Delphi Object Pascal kieliopas:
- Delphi 5 "Object Pascal Language Guide" (Arkistoitu – Internet Archive) (PDF[vanhentunut linkki], Windows Help[vanhentunut linkki])
- Delphi 1.0 Object Pascal Language Reference Guide[vanhentunut linkki]
- Object Pascal Style Guide (Arkistoitu – Internet Archive)
Free Pascal Object Pascal käsikirja:
- Current version's Object Pascal Ref guide (PDF) (Arkistoitu – Internet Archive)
- Current version's Object Pascal Ref guide (html)
- Free Pascal Mac Pascal extensions status page
GNU Pascal:
- GNU Pascal(GPC) information
- GPC differences to Mac Pascal page (Arkistoitu – Internet Archive)