See artikkel on programmeerimiskeelest; prantsuse teadlase ja filosoofi kohta vaata artiklitBlaise Pascal; rõhuühiku kohta vaata artiklitPaskal; teiste tähenduste kohtaPascal (täpsustus).
Pascal on kõrgtasemeprogrammeerimiskeel, mille looja onNiklaus Wirth. Keel töötati välja aastatel 1968–1969 ja avaldati 1970. aastal. Pascal oli mõeldud eelkõige programmeerimise õpetamiseks ning kavandatud lihtsustatud versiooniks programmeerimiskeelestALGOL.[1]
Vaatamata suurele akadeemilisele edule pole Pascal ärimaastikul kuigi laialdaselt kasutusel. Põhjuseks tema jäikus ning suurte rakenduste loomiseks vajalike funktsioonide puudumine. Vastuseks kriitikale kavandas Wirth uue programmeerimiskeeleModula-2, mis sarnaneb väga Pascaliga, kuid sisaldab lisafunktsioone.[2]
TeX ja originaalneMacintoshi operatsioonisüsteem on kirjutatud suurelt osalt just Pascali programmeerimiskeeles.
Wirthi eesmärgiks oli luuastruktureeritud programmeerimisel põhinev programmeerimiskeel, mis oleks eelkõige kiire ja efektiivne, võimaldaks luua hästi struktureeritud ja organiseeritud programme ning sobiks programmeerimise põhimõtete õpetamiseks.Pascali otseseks eelkäijaks onAlgol-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, näiteksloendite,puude jagraafide kasutamine.
Pascal oli peamine kõrgtaseme keelApple Lisa arendamisel ning oli kasutusel kaMacintoshi algusaastatel.Donald E. Knuthi loodud tekstilaosüsteemTeX on kirjutatud keelesWEB, mis põhineb Pascalil. Programmides naguSkype,FL Studio jaTotal Commander on kasutatudDelphit (Object Pascal).[3]Delphi on ka tänapäeval kasutusel Windowsi rakenduste loomisel (võimaldabkompileerida sama koodi kaMaci jaIOS-i platvormi jaoks).
Tänapäeval leiavad kasutust veel Borland Pascal (Turbo Pascal),Delphi,Compaq Pascal,THINK Pascal jaCodeWarrior 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 1990. aastate alguseni oli Pascal suurimates kolledžites ja ülikoolides peamine keel programmeerimise õpetamisel.[5]
Keeltel on sarnasusi, aga ka palju erinevusi. Programmeerija seisukohast erinevad Pascal jaC vägagi niisüntaksi, struktuuri kui ka mõtteviisi poolest. Mõlemad keeled toetavadtugevat 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 halvendada koodi loetavust ja arusaadavust. Pascali süntaks teeb koodi üldiselt kergemini loetavaks.
Pascali standardi esialgne täiendamata versioon (Unextended Pascal) ei toetanud objektorienteeritud stiili. Hilisemad versioonid Extended Pascal jaObject Pascal lisasid uusi võimalusi ja objektorienteerituse. Objektorienteeritust toetavad kaThink Pascal,CodeWarrior Pascal,Borland Pascal ning nii mõnigi avatud lähtekoodiga Pascali versioon. 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 ja 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 ja teaduslikes keskkondades ning ka õppekeelena.[6]
Mõned näitedMacintoshi rakendustest, mis on kirjutatud Pascalis:
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.
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:
Pascali keele üheks osaks on reserveeritud sõnad, millel on juba konkreetne funktsioon ning mida kasutaja ei saa kasutada muutujate nimedena. Pascal poletõstutundlik, seegakompilaatoril pole vahet, kas kirjutada suur- või väiketähtedega.
↑Bill Catambay."Myths Uncovered" (Inglise keeles).Originaali arhiivikoopia seisuga 17. september 2015. Vaadatud 6. oktoober 2014.{{netiviide}}: CS1 hooldus: tundmatu keel (link)