Pascal (programspråk)

Från Wikipedia
Hoppa till: navigering, sök

Pascal är ett programspråk skapat av schweizaren Niklaus Wirth 1970 som varit mycket inflytelserikt. Språket har fått namn 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 är typsättningsystemet TeX och mycket av ursprungsversionen av Macintoshs operativsystem skrivet i originalversionen av Pascal, medan applikationen Total Commander är skriven i Object Pascal eller Delphi (liksom Delphi självt för övrigt).

Beskrivning[redigera | redigera wikitext]

Wirth avsåg i första hand att skapa ett effektivt språk baserat på så kallad 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, 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 till exempel 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, mest för att vissa önskade finesser, såsom till exempel separatkompilering saknades. Det har även förekommit versioner av Pascal som har 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[redigera | redigera wikitext]

"Hello, world!" i Pascal:

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

Pascalkompilatorer[redigera | redigera wikitext]

Externa länkar[redigera | redigera wikitext]