Pascal (ohjelmointikieli)

Wikipediasta
Siirry navigaatioon Siirry hakuun
Pascal
Paradigma proseduraalinen, strukturoitu
Kehittäjä Niklaus Wirth
Vakaa versio ISO 7185:1990[1]
Vaikutteet ALGOL
Vaikuttanut Object Pascal, Modula-2, Oberon

Pascal on Niklaus Wirthin kehittämä proseduraalinen ohjelmointikieli, joka on kehitetty 1960- ja 1970-lukujen vaihteessa ALGOL-kielen pohjalta erityisesti opetuskäyttöä ajatellen.[2][3] Pascalia pidetään esimerkkinä strukturoitua ohjelmointia tukevasta kielestä.[4]

Pascal-kieli on nimetty matemaatikko Blaise Pascalin mukaan. Pascalia hyvin lähellä ovat Wirthin myöhemmin kehittämät ohjelmointikielet Modula-2 ja Oberon, joita voidaan pitää Pascalin "jälkeläisinä". Pascal oli suosittu kieli opetuskäytössä 1970-luvulta 1990-luvun alkupuolelle asti kunnes C-kieli syrjäytti sen.

Ammattikäyttöön Pascal-kieli tuli Borlandin Turbo Pascal -ympäristön ansiosta 1980-luvulla. Silloiset Turbo Pascalin ylivoimaiset ominaisuudet aiheuttivat sen, että muut ohjelmointikieliä tekevät ohjelmistotalot luopuivat vähitellen omista Pascal-kääntäjistään.

Esimerkkiohjelma

[muokkaa | muokkaa wikitekstiä]

Yleinen esimerkki ohjelmointikielen syntaksista on Hei maailma -ohjelma.

{ Ohjelma tulostaa tekstin "Hei maailma!" }
program HeiMaailma(input,output);
begin
  WriteLn('Hei maailma!');
end.

Kaikki Pascal-ohjelmat alkavat "Program"-avainsanalla ja ohjelmalohkon alku ja loppu merkitään avainsanoilla "Begin" ja "End". Yksittäiset lauseet erotetaan puolipisteellä, ja koko ohjelma loppuu pisteeseen.

Pascalin kehitys

[muokkaa | muokkaa wikitekstiä]

Kielestä on kehitetty eräitä muunnelmia.

Object Pascal lisää kieleen olio-ohjelmointiin liittyviä ominaisuuksia. Siihen kuuluvat myös poikkeukset ja niiden hallinta.

Super Pascal on rinnakkaisuusohjelmointiin kehitetty versio.[5]

Extended Pascal on muunnos, joka on määritelty standardeissa ISO 10206:1991 ja ANSI/IEEE 770X3.160-1989 (ISO- ja ANSI-standardit ovat tekniseltä sisällöltä identtisiä).[6]

Concurrent Pascal ja Sequential Pascal ovat eräitä muunnoksia.

Kielen ISO-standardia edeltävää versiota on kritisoitu sen soveltuvuudesta käytännön ohjelmointiin ja sen soveltuvuudesta vain opetuskäyttöön.[7] Esimerkiksi taulukon koko osana sen tyyppiä ei mahdollista käyttää samaa lajittelualgoritmin toteutusta erikokoisille taulukoille.[7]

Myöhempi standardoitu versio on korjannut useita kritiikin kohteita. Kieleen kohdistunut kritiikkiä on myöhemmin käsitelty vastineissa.[8]

Pascal-kääntäjiä

[muokkaa | muokkaa wikitekstiä]
  • Wirth, Niklaus: Algorithms + Data Structures = Programs. Prentice-Hall, 1976. ISBN 0-13-022418-9
  • Findlay, William & Watt, David A.: Pascal: An Introduction to Methodical Programming. Great Britain: Pitman, 1979. ISBN 0-273-01220-7
  • Korpela, Jukka & Larmela, Timo & Planman, Ahti: Pascal-ohjelmointikieli. Espoo: OtaDATA, 1980. ISBN 951-767-034-6
  1. ISO 7185:1990 ISO. Viitattu 14.2.2020. (englanniksi) 
  2. Korpela et al. 1980, s. 7
  3. Niklaus E. Wirth amturing.acm.org. Viitattu 6.9.2019. (englanniksi)
  4. Karl P. Hunt: An introduction to structured programming (PDF) link.springer.com. 1979. doi:10.3758/BF03205654 Viitattu 6.1.2020. (englanniksi)
  5. https://link.springer.com/chapter/10.1007%2F3-540-48387-X_52
  6. Language standards – Internet Archive
  7. a b Brian W. Kernighan: Why Pascal is Not My Favorite Programming Language lysator.liu.se. 2.4.1981. Viitattu 14.2.2020. (englanniksi) 
  8. Bill Catambay: IV. Myths Uncovered pascal-central.com. Arkistoitu 17.9.2015. Viitattu 14.2.2020. (englanniksi)

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]