Start Logga In Skriv Artikel Om Oss
Vad söker du?
Allt om 'Pascalspråk'

Pascalspråk

Innehåll- 1. Introduktion - 2. Programmeringsspråket Pascal: - 3. Dialekter - 4. Syskon el. Dialekt? - 5. Pascal + och - - 6. Exempel - 6.1 Hello world - 6.2 Ett enkelt exempel med indata - 6.3 Enkel procedur - 6.4 Enkel funktion - 7. Fotnötter

1. Introduktion

Pascal är ett programspråk och en familj av programspråk. Den renodlade pascalen finns nog inte längre utan ofta är det en pascal med någon särskild särart. Trots det är de alla general purpose språk. Med general purpose menas att språket är ett generellt språk som kan användas inom de flesta tillämpningsområden. Alla pascal-dialekter är kompilerande programspråk (så vitt författaren känner till) utvecklat och lanserat av Niklaus Wirth 1970-71 som ett undervisningsspråk (jmf. BASIC). Språket publicerades först 1973 och blev en ISO-standard 1983. Språket är en utveckling av språket Algol. Namnet är en tribut till den franske vetenskapsmannen Blaise Pascal.

2. Programmeringsspråket Pascal:

Är ett språk som är ganska lätt att använda och förstå. Språket är per definition hårt-typat och det gör att programeraren tvingas att följa vissa mönster vilket kan ge bättre kod(1). Språket är inte gjort av programmerare för programmerare som t.ex. C eller C++, vilket ger entydighet och till viss del intuitiv känsla. Programmspråket innehåller också vissa pedagogiska element. Detta gör att t.ex. C-människor (dvs. de som programmerar C) anser att man får kobolfingrar av pascal(2). På grund av de pedagogiska elementen i språket har det flitigt använts inom universitetsvärlden men även ute i den riktiga världen.

Språket är ett högnivåspråk med vanliga engelska ord, såsom WriteLn, ReadLn, Sound, Delay, osv.

3. Dialekter

Oavsett hur generellt ett språk är får de förr eller senare en dialekt, ibland för att tillfredställa ett speciellt behov (jmf. C:s subset C++). Men medan C-världen har löst detta genom subset (dvs. tillägg till grundspråket) har pascal utvecklat rena dialekter. Nedan följer några av de otaliga dialketerna till pascal.

  • Delphi och Kylix vilket är både ett RAD-verktyg och en dialekt till pascal, den kallas nämligen object pascal. Objektorienterad pascal. Har också som feature att den kan vara hyfsat portabel.
  • Modula som finns både som modulär- (modula 2) och som objektorienterad (modula 3).
  • Oberon som också finns i en etta och tvåa. Oberon är striktare är vanlig pascal (vilket säkert hatas av många c-programmerare).
  • Speed Pascal objektorienterad pascal med hyfsat stark bindning till borland objectiv pascal (se Borland Delphi)
  • Turbo Pascal som är en borland klon. Inget riktigt specifikt med detta språk.
  • Ada 95, ett språk som är DoD:s officiella språk för militära applikationer. Givetvis utvecklat av DoD.

4. Syskon el. Dialekt?

  • Simula räknas ibland till pascalspråken men borde istället räknas som broder eftersom det gemensamma arvet är Algol.
  • Eiffel är en avkomma från Simula så pascal borde kanske räknas som farbror till Eiffel. Men eftersom Simula ibland räknas till pascalspråken måste även Eiffel göra det i detta fall.

5. Pascal + och -

  • Eftersom pascal är hårt typat och hyfsat strikt är det ett bra nybörjarspråk, det lär programmeraren att tänka rätt. Om man vill kan man välja java istället som också är ett språk har många av de pedagogiska fördelarna som pascalspråken har. Här anser författaren (pwa) att pascal har ett klart övertag från spagetti-basic och klart krångliga C/C++(3).
  • Vissa pascalspråk är direkt portabla mellan t.ex. Linux och Windows vilket kan vara till fördel, här anser jag (pwa) att java har ett klart övertag eftersom java är helt plattformsoberoende bådet till hård och mjukvara. Portabiliteten pascal vs C/C++ beror dels på vilket utvecklingsverktyg man använder, dvs. använder programmeraren Microsofts Foundation Classes antar jag att det försvårar portabilieteten till t.ex. solarissystem. I övrigt har ANSI-C ett övertag gentemot pascal.
  • Vissa pascal (de flesta) fungerar bra som RAD-verktyg och är därför hyfsat lämpade för vissa typer av prototyping. Även om pascal i detta fall har ett övertag mot t.ex. java men övertaget är inte självklart eftersom det beror på var/hur och varför applikationen ska köras. En kandidat till pascal är VB, valet här beror främst på kunden. I tillämpning kan jag (pwa)inte se en sak VB gör bättre än t.ex. Delphi.
  • Realtidsprogrammering, här har pascal ett definitivt övertag på t.ex. java (som inte fyller kraven i detta hänseende). Pascal lider dock gentemot t.ex. C/C++ på grund av flexibilitet hos dessa programspråk. C är genom hävd det enda vettiga gränssnittet mot hårdvara och C++ erbjuder objektorienteringen utan garbage collect. Vissa pascalspråk t.ex. Ada och Modula finns implementerade i viktiga realtidssystem. T.ex. Boeing 767:s styrsystem.

I slutänden är det dock projektet som måste avgöra vilket programspråk som ska användas. Det är av den enkla anledningen som det finns en sådan mängd av programspråk. Endast en idiot skulle göra t.ex. MS-office i assembler. Dessutom skulle det nog innehålla mer buggar än övrig programvara tillsammans.

6. Exempel

6.1 Hello world Program HelloWorld; Begin WriteLn(Hej världen!); End.

6.2 Ett enkelt exempel med indataGammal kod från Turbo Pascal (DOS):

Program Namn; var fornamn, efternamn: string; Begin writeln(Vad heter du i förnamn?); readln (fornamn); writeln(Vad heter du i efternamn?); readln (efternamn); writeln(Ditt fulla namn är: + fornamn + + efternamn); End.

6.3 Enkel procedur

Program ProcedurTest;

Procedure PrintAnInt(i: Integer)BeginWriteLn(Här är ett heltal: " + i );End;

BeginPrintAnInt(1);PrintAnInt(2);PrintAnInt(3);End.

6.4 Enkel funktion

Program FunctionTest;

Function Fac(i: Integer)Begin{Fakultetsfunktion som inte kollar tecken på i }If i = 1 Then Fac:=1;ElseFac:=Fac(i-1);End;

BeginWriteLn("Fakulteten av 10 är: " + Fac(10));End.

7. Fotnötter

(1) Bra och dåligt programmerad mjukvara definieras inte av språket utan av programmeraren. En programmerare som är väldefinierad och har ett snyggt code-fu kan göra ett bättre strukturerat program i C än en ostrukturerad galning kan göra i ett objektorienterat språk.

(2) C-programmerare klagar ofta att man skriver och skriver men det händer aldrig något i pascal. Cobol, pascal och java beskylls ofta för detta (med viss rätt). Extrema c-programmerar påstår också att subset:et C++ ger cobol-fingrar.

(3) Att C/C++ är krångliga språk kan anses som en skymf av vissa men faktum kvarstår att det finns inte något språk som har så många accepterade sätt att göra en sak. Detta beror delvis på att C++ måste vara kompatibelt med racern C (precis som vilken racer som helst är den ibland svår att hantera) men dels att någon har haft en vilja att göra på det sättet en gång i tiden (deviset ett språk för programmeraren av programmeraren). Minns en idiotisk diskussion om Java vs C++:

-Jag vill göra en sortering på hårddisken utan att toucha minnet, går det i java?-Nej men varför skulle man vilja göra en sån idiotisk sak?-För att jag vill!!!

C/C++ innehåller massor av sådana saker, språket är helt enkelt till för de människor som måste kunna kontrollera hårdvara till det yttersta.

Redigera?

Artikeln skriven 2009-01-18 av Learning4sharing

Inga kategorier för denna artikel än...

Vi behhöver hjälp att kategorisera våra artiklar. Kan du skriva ett nyckelord för denna artikel? Du kan skriva upp till 3 olika nyckelord för denna artikel, vi uppskattar din hjälp!

Skriv nyckelord som du tycker beskriver denna artikel på ett bra sätt. Du kan ange 3 olika nyckelord för denna artikel, max 20 tecken per nyckelord.

  1. Lägg till fler
    Skriv in svaret på frågan: 4+1

Intresserad av fler artiklar?

Klot
Nöbbelöv
Ruin
Förordning
Handske
Kulspetspenna
Bläckpenna
Guldkusten
Cincinnati

Senaste sökningarna

federation har fått 1077 sökningar. Den senaste gjordes 2019-08-22 20:42:38.

lappland har fått 1005 sökningar. Den senaste gjordes 2019-08-22 20:42:21.

vinterkriget har fått 978 sökningar. Den senaste gjordes 2019-08-22 20:41:03.

sociolekt har fått 2813 sökningar. Den senaste gjordes 2019-08-22 20:40:45.

fåfäng har fått 801 sökningar. Den senaste gjordes 2019-08-22 20:40:09.

xkcd har fått 910 sökningar. Den senaste gjordes 2019-08-22 20:39:19.

reducera har fått 864 sökningar. Den senaste gjordes 2019-08-22 20:38:34.

talman har fått 926 sökningar. Den senaste gjordes 2019-08-22 20:38:11.

ekenslang har fått 1270 sökningar. Den senaste gjordes 2019-08-22 20:37:13.

rekvisita har fått 903 sökningar. Den senaste gjordes 2019-08-22 20:37:06.

sedlig har fått 1013 sökningar. Den senaste gjordes 2019-08-22 20:36:30.

vasagatan har fått 956 sökningar. Den senaste gjordes 2019-08-22 20:36:10.

Designed by: template world
Learning4sharing.nu
All Rights Reserved. 0.09 SEK

Logga in

Välkommen att redigera och skriva nya artiklar!

Ingent Konto?

Skaffa konto för att redigera och skapa nya ariklar Nytt Konto.

Ny Användare

Välkommen att redigera och skriva nya artiklar! Skapa konto nedan.


Ett verifieringsmail kommer att skickas till din E-post som du måste öppna och verifiera din E-post med

Lägg till artikel

Du är inte inloggad.

Logga In eller Skapa konto.