Pascal
Niklaus Wirth er den primære designer af programmeringssproget Pascal i 1970. Wirth var involveret i videreudviklingen af Algol-60, og Pascal trækker på disse erfaringer. Han havde foreslået en efterfølger kaldt ALGOL W, men det blev ikke accepteret. ALGOL W blev derefter det idémæssige grundlag for Pascal. På grund af en konsistent syntax, strukturer såsom record
, pointer
, enumeration
og set
blev Pascal særdeles populært i halvfjerdserne og op til halvfemserne. Det blev i udstrakt grad brugt som undervisningsprog på EDB-uddannelserne.
Pascal var fra starten beskrevet i Backus-Naur Form, hvilke gjorde det nemt at lære. Derudover var der taget højde for at det var muligt at implementere sproget på de fleste andre hardware-platforme. Det var oprindeligt udviklet på en Control Data 6000, og visse procedurer i sproget (getseg, putseg, eos) der arbejder på segmenterede filer er specifikt erklæret til at være udvidelser der ikke er en del af Standard Pascal.
Kritik
I forhold til nutidens forventninger, så har den oprindelige Pascal nogle mangler:
- Der er ingen
continue
ellerbreak
udtryk til at bryde ud af en løkke. Det er nødvendigt at bruge komplekseif
-betingelser ellergoto
til henholdsvis før og efter løkkensend
. - Tilsvarende kan man ikke returnere tidligt fra en procedure eller funktion medmindre man bruger
goto
. - Pascal har streng-konstanter, men ingen streng type. Man skal bruge en tabel af
char
. Tabeller kan heller ikke være af variabel størrelse. Mange andre implementeringer tilføjede strenge som en udvidelse. - Hvis man
read(i)
hvor i erinteger
, så vil Pascal læse en sekvens af cifre (0-9), og konvertere til det binære heltalsformat, menread(x)
kan ikke gives en tabel som argument. Strenge skal læses ét tegn ad gangen. - Operatorerne
and
ogor
har højere prioritet end sammenligning. Man skal dermed skriveif (x = 0) and (y = 0) then
...
Eksempel på Pascal program
Dette program skriver Celcius grader ud fra 0 til 39 og konverterer til Fahrenheit. Det er eksempel 3.1 i Pascal User Manual and Report.
{ program 3.1 example of constant definition part } program convert(output); const addin = 32; mulby = 1.8; low = 0; high = 39; separator = ' ----------'; var degree : low..high; begin writeln(separator); for degree := low to high do begin write(degree,'c',round(degree*mulby + addin),'f'); if odd(degree) then writeln end; writeln; writeln(separator) end.
Danske produkter
Turbo Pascal m.m.
BLS Pascal compileren skrevet af Anders Hejlsberg til NASCOM 2 computeren var inspireret af Tiny Pascal compileren i Niklaus Wirths bog Algorithms + Data Structures = Programs. Compileren blev solgt af PolyData under varemærket Blue Label Software (BLS). Produktet blev porteret til CP/M og solgt som COMPAS Pascal - senere PolyPascal, hvorefter Borland købte rettighederne og udgav det under navnet Turbo Pascal. I forhold til konkurrerende produkter har Hejlsbergs Pascal en editor, hvorfra man kan oversætte på få sekunder. Dette, og en lav pris, gjorde Turbo Pascal dominerende på markedet for personlige computere.
Arkivalier
Se hvad DDHF har om Pascal i Bitarkivet.