Pascal

Allikas: Vikipeedia
Disambig gray.svg  See artikkel on programmeerimiskeelest; prantsuse teadlase ja filosoofi kohta vaata artiklit Blaise Pascal; rõhuühiku kohta vaata artiklit Paskal; teiste tähenduste kohta Pascal (täpsustus).

Pascali looja Niklaus Wirth loengut andmas
Pascal
Faililaiendid .pas
Paradigma protseduraalne, imperatiivne, struktureeritud
Väljalaskeaeg 1970
Looja Niklaus Wirth
Tüüpimine staatiline, tugev
Mõjutatud keeltest ALGOL
Mõjutanud keeli Object Pascal, Java
OS multiplatvormne

Pascal on kõrgtasemeline programmeerimiskeel, mille loojaks on Niklaus Wirth. Keel töötati välja ajavahemikul 1968–1969 ning avaldati aastal 1970. Pascal oli mõeldud eelkõige programmeerimise õpetamiseks ning kavandatud kui lihtsustatud versioon programmeerimiskeelest Algol.[1]

Vaatamata suurele akadeemilisele edule, pole Pascal ärimaastikul väga laialdaselt kasutusel. Põhjuseks tema jäikus ning suurte rakenduste loomiseks vajalike funktsionaalsuste puudumine. Vastuseks kriitikale kavandas Wirth uue programmeerimiskeele Modula-2, mis on väga sarnane Pascalile, kuid mis sisaldab lisafunktsioone.[2]

TeX ja originaalne Macintoshi operatsioonisüsteem on kirjutatud suurelt osalt just Pascali programmeerimiskeeles.

Pascalil põhinev Object Pascal, mis on mõeldud eelkõige objektorienteeritud programmeerimise jaoks, töötati välja aastal 1985.

Lühiülevaade[muuda | muuda lähteteksti]

Pascal on oma nime saanud 17. sajandi prantsuse matemaatiku, füüsiku ja filosoofi Blaise Pascali auks, kellel oli tähtis roll arvuti arengu ajaloos.

Enne Pascali loomist oli Niklaus Wirth loonud ka programmeerimiskeeled Euler ja ALGOL W. Lisaks Pascalile on Wirth ka keelte Modula, Modula-2, Oberon ning Oberon-2 peamine kujundaja.

Wirthi eesmärgiks oli luua struktureeritud programmeerimisel põhinev programmeerimiskeel, mis oleks eelkõige kiire ning efektiivne, võimaldaks luua hästi struktureeritud ning organiseeritud programme ja oleks sobiv programmeerimise põhimõtete õpetamiseks. Pascali otseseks eelkäiaks on Algol-60, kuid lisatud on veel mitmeid vahendeid, mis võimaldavad programmeerijatel defineerida oma enda (struktureeritud) andmetüüpe. Lisaks muutus lihtsamaks ka dünaamiliste ja rekursiivsete andmestruktuuride, nagu näiteks loendide, puude ja graafide, kasutamine.

Pascal oli peamine kõrgtasemeline keel Apple Lisa arendamisel ning oli kasutusel ka Macintoshi algusaastatel. Donald E. Knuthi loodud tekstilaosüsteem TeX on kirjutatud keeles WEB, mis põhineb Pascalil. Programmides nagu Skype, FL Studio ja Total Commander on kasutatud Delphit (Object Pascal). [3]Delphi on ka tänapäeval kasutusel Windowsi rakenduste loomisel (võimaldab kompileerida sama koodi ka Mac ning IOS platvormi jaoks).

Tänapäeval leiavad kasutust veel Borland Pascal (Turbo Pascal), Delphi, Compaq Pascal, THINK Pascal, ning CodeWarrior Pascal. Turbo Pascalit ja THINK Pascalit pole juba mõnda aega uuendatud, kuid Delphi ja Compac Pascal on mõlemad kaubanduslikult elujõulised tooted koos iga-aastaste uuenduste ning täieliku tehnilise toega. [4]

Kuni 1990ndate alguseni oli Pascal suurimates kolledžites ja ülikoolides peamine keel programmeerimise õpetamisel. [5]

Võrdlus C-ga[muuda | muuda lähteteksti]

Keeltel on mitmeid sarnasusi, aga ka palju erinevusi. Programmeerija seisukohast on Pascal ja C väga erinevad nii süntaksi, struktuuri kui ka mõtteviisi poolest. Mõlemad keeled toetavad tugevat tüüpimist, kuid Pascal kõrgema taseme keelena üritab rohkem vältida vigaseid tüübiteisendusi.

C-keeles on võimalik koodi kirjutada väga tihedalt (ühele reale järjest väga palju teksti), mis võib muuta koodi vähem loetavaks ja arusaadavaks. Pascali süntaks teeb koodi üldiselt kergemini loetavaks.

Võimekus ja jõudlus[muuda | muuda lähteteksti]

Pascali standardi esialgne täiendamata versioon (Unextended Pascal) ei toetanud objektorienteeritud stiili. Hilisemad versioonid, Extended Pascal ja Object Pascal, lisasid erinevaid võimalusi ja objektorienteerituse. Objektorienteeritust toetavad ka Think Pascal, CodeWarrior Pascal, Borland Pascal ning ka mitmeted avatud lähtekoodiga Pascali versioonid. Pascali kompilaatorid, mis uusi versioone toetasid, suurendasid sealjuures oluliselt ka kompileeritud programmide jõudlust.

Pascali kood on kompilaatori poolt kergesti optimeeritav ning võimaldab luua võimekaid programme. Ingemar Ragnemalm, programmeerija ning raamatu "Tricks of the Mac Game Programming Gurus" kaasautor, on öelnud: "Ma saan Pascalis teha kõike, mida on võimalik teha C keeles, kuid ma saan seda teha elegantsemalt".

Pascal toetab programmeerimise häid tavasid ning võimaldab luua kompleksseid andmestruktuure, kasutades hästi määratletud tüüpe. Pascalit kasutatakse kaubanduslikes rakendustes, tööstuslikes ning teaduslikes keskkondades ja ka õppekeelena.[6]

Mõned näited Macintoshi rakendustest, mis on kirjutatud Pascalis:

  • InterArchy – FTP-klientrakendus
  • Ingemar's Skiing Game – action mäng
  • Klondike – üks populaarsemaid pasjansitüüpi mänge
  • Scripter – arenduskeskkond AppleScripti jaoks
  • SuperLock – failiturbeprogramm
  • JacqCAD Master – CAD-i programm tekstiilidisaini jaoks
  • FlightMath – lennuanalüüsiprogramm
  • NIH Image – pildianalüüsiprogramm

Keele eripärad[muuda | muuda lähteteksti]

Hello World[muuda | muuda lähteteksti]

Pascali eripärana peab igal programmil olema nimi (näites "Hello") ning programmi lõpetab punkt. Sõned kirjutatakse erinevalt mitmest teisest keelest jutumärkide asemel ülakomade vahele. Hello world näeb Pascalis välja järgmine:

program Hello(output);
begin
    writeln('Hello, world!');
end.

Andmetüübid[muuda | muuda lähteteksti]

Pascalis, nagu ka paljudes teistes programmeerimiskeeltes, määrab andmetüüp väärtuste vahemiku, mida ta on võimeline hoiustama. Lisaks on igal andmetüübil määratud toimingud, mis on samast tüübist muutujatega lubatud. Eeldefineeritud tüübid:

Andmetüüp Hoiustatavad väärtused
integer täisarvud
real ujukomaarvud
boolean tõeväärtused
char üksik täht
string sõne

Programmeerija saab ka ise defineerida uusi andmetüüpe. Pascali tüübideklaratsioon näeb välja selline:

type
  byte        = 0..255;
  signed_byte = -128..127;
  string      = packed array[1..255] of char;

Kommentaarid[muuda | muuda lähteteksti]

Klassikalised Pascali kommentaarid kirjutatakse looksulgudesse:

{See on kommentaar, mis ei mõjuta kuidagi programmi tööd.}

Mitmerealiste kommentaaride jaoks tuleks tekstilõik asetada {* ning *} vahele:

{* See on samuti kommentaar,
mis ei mõjuta programmi tööd *)

Reserveeritud sõnad[muuda | muuda lähteteksti]

Pascali keele üheks osaks on reserveeritud sõnad, millel on juba konkreetne funktsioon ning mida kasutaja ei saa kasutada muutujate nimedena. Pascal pole tõstutundlik, seega kompilaatoril pole vahet, kas kirjutada suur- või väiketähtedega.

Reserveeritud sõnad Pascalis
and array begin case const
div do downto else end
file for function goto if
in label mod nil not
of or packed procedure program
record repeat set then to
type until var while with

Vaata ka[muuda | muuda lähteteksti]

Viited[muuda | muuda lähteteksti]

  1. Marco Cantù. "Pascal History" Kasutatud 5. oktoober 2014. (Inglise keeles)
  2. "Pascal" webopedia. Kasutatud 6. oktoober 2014. (Inglise keeles)
  3. "Good Quality Applications Built With Delphi" delphi.wikia.com/. Kasutatud 6. oktoober 2014. (Inglise keeles)
  4. Bill Catambay. "The Pascal Programming Language" http://www.pascal-central.com/.+Kasutatud 6. oktoober 2014. (Inglise keeles)
  5. "The Pascal Language Page" Kasutatud 6. oktoober 2014. (Inglise keeles)
  6. Bill Catambay. "Myths Uncovered" Kasutatud 6. oktoober 2014. (Inglise keeles)

Välislingid[muuda | muuda lähteteksti]