Object Pascal
Object Pascal | |
---|---|
Paradigma | olio-ohjelmointi |
Vaikutteet | Pascal (ohjelmointikieli) |
Murteet | Delphi |
Object Pascal on Pascal-ohjelmointikielen objektiorientoitunut johdannainen, joka tunnetaan parhaiten Borland Delphin kehitysympäristön alkuperäisenä ohjelmointikielenä. Delphi onkin tunnetuin Object Pascalin murre.
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
[muokkaa | muokkaa wikitekstiä]Object 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
[muokkaa | muokkaa wikitekstiä]Vuonna 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
[muokkaa | muokkaa wikitekstiä]Object 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
[muokkaa | muokkaa wikitekstiä]Applen Object Pascal
[muokkaa | muokkaa wikitekstiä] 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 | muokkaa wikitekstiä] 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 | muokkaa wikitekstiä] 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 | muokkaa wikitekstiä] 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
[muokkaa | muokkaa wikitekstiä]Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ Free Pascal - Advanced open source Pascal compiler for Pascal and Object Pascal - Home Page www.freepascal.org. Viitattu 6.1.2016.
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]Johdanto 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)