Pascal (ohjelmointikieli)

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

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

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

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.

Kritiikkiä

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ä

Lähteet

  • 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.

Viitteet

  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

Commons
Commons
Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta Pascal (ohjelmointikieli).
Wikibooks
Wikibooks
Wikikirjastossa on aihe: Pascal.
  • Suomalainen Pascal-opassarja
  • Turbo Pascal Information
  • n
  • k
  • m
Tuotantokäytössä
Akateemiset
Historialliset
Auktoriteettitunnisteet Muokkaa Wikidatassa
Kansainväliset
  • FAST
Kansalliset
  • Ranska
  • BnF data
  • Israel
  • Yhdysvallat
  • Tšekki