Pascal (programspråk)

Från Rilpedia

(Omdirigerad från PASCAL)
Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

Pascal är ett programspråk skapat av schweizaren Niklaus Wirth 1970 som varit mycket inflytelserikt. Språket är döpt efter fysikern Blaise Pascal och har kanske främst varit populärt som undervisningsspråk men även många små och stora programsystem har skrivits i Pascal eller någon av dess dialekter, som Turbo Pascal eller Delphi. Exempelvis så är typsättningsystemet TeX och mycket av ursprungsversionen av Macintoshs operativsystem skrivet i originalversionen av Pascal, medan en applikation som Total Commander är skriven i Object Pascal eller Delphi (liksom Delphi självt för övrigt).

Innehåll

Beskrivning

Wirth avsåg i första hand att skapa ett effektivt språk baserat på sk strukturerad programmering, ett begrepp som då hade blivit populärt. Pascal har sin grund i programspråket ALGOL 60, men införde flera nya begrepp och mekanismer för att, utöver skalärer och matriser, kunna definiera egna godtyckligt komplexa datatyper (även rekursivt) och även bygga dynamiska datastrukturer som listor, träd, etc. Viktiga nya verktyg för detta var bland annat poster (records), uppräkningar (enumerations), intervall (subranges), och dynamiskt allokerade variabler med tillhörande pekare. För att göra detta möjligt och meningsfullt har Pascal en stark typning som även innebär att data av en typ inte kan konverteras eller tolkas som en annan datatyp okontrollerat. Liknande mekanismer finns idag i de flesta moderna programspråk. Utöver ALGOL 60 influerades Pascal av ALGOL 68, Simula 67,[1] och Wirths eget tidigare språk Algol-W.

Liksom en del moderna skriptspråk (men till skillnad mot de flesta språk i C-familjen, C, C++, Java, etc) så tillåter Pascal nästlade procedurer i godtyckligt antal nivåer. Av bl.a det skälet är syntaxen för ett komplett program (eller en unit) precis densamma som för en enstaka procedure eller function, utom, naturligtvis, själva nyckelordet. Av samma skäl kan även procedurer och funktioner innehålla t.ex egna lokala typdefinitioner, inte bara lokala variabler som i en del andra språk.

Wirth konstruerade även andra språk, till exempel Euler, Modula-2, Oberon och var en av medlemmarna i den kommitté som 1960 slutligen fastslog hur Algol skulle utformas.

Liksom många andra av de tidiga programspråken, har Pascal utvecklats och implementerats i många olika versioner, och även utökats med flera moderna programmeringskoncept som till exempel objektorienterad programmering; Object Pascal togs ursprungligen fram av framförallt Larry Tesler på datorföretaget Apple i konsultation med Niklaus Wirth, men byggde även det på en äldre objektorienterad version av Pascal kallad Clascal. Delphi är en annan vidareutveckling av Pascal med stöd för objektorienterad programmering.

Programexempel

"Hello, world!" i Pascal:

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

Pascalkompilatorer

Fotnoteringar

  1. Begreppet "objekt" lämnades avsiktligen därhän i det ursprungliga Pascal då sådant inte låg på modet 1968-1970 (det nämndes dock i en rapport)

Externa länkar

Personliga verktyg