User Tools

Site Tools


linuxbog:program:vaelg-et-sprog
Linux – Friheden til at programmere: Version 2.5.20050330 – 2020-12-31
forrige næste

Kapitel 2. Vælg et sprog

Der findes rigtig mange programmeringssprog til Linux. Af dem er

der mere end tredive forskellige du kan få en[[program:program-ordliste#def-frit-programmel|//"fri"//]]oversætter eller
fortolker til.

De enkelte sprog er lavet med bestemte mål for øje, og er dermed velegnede
til bestemte typer opgaver. En Linux-programmør benytter sig typisk af
flere sprog, alt efter hvilke opgaver der skal løses. Formålet med denne
del af bogen er at introducere et stort antal sprog med tilstrækkelig
information til at gøre det muligt at vurdere hvilke sprog der skal bruges
i forskellige sammenhænge. Sprogene bliver nævnt i alfabetisk orden.

2.1. Ada

Ada er et sprog der er udviklet til store projekter hvor det er

vigtigt at der ikke er fejl i systemerne, men det kan også med
fordel bruges til mindre projekter.  Den nye GNU Visual Debugger er
et eksempel på et "mindre" Ada-projekt.  Blandt de større kan man
for eksempel nævne Boeing 777-serien eller det nye franske
hangarskib "Charles de Gaulle".

En af Adas styrker er systemprogrammering hvor man ofte har brug for at

implementere abstraktioner af systemspecifikke ting som bitmønstre og
portadresser på en effektiv måde.

I det omfang man ikke direkte gør sig umage med at skrive et

Ada-program til en bestemt arkitektur (processor, andet isenkram og
eventuelt styresystem), kan man regne med at det fungerer ens på
alle systemer.  Dele af Ada er selvfølgelig nødt til at være
systemspecifikke – det gælder for eksempel hvor store heltal man kan
regne med – men enhver Ada-oversætter skal komme med dokumentation
af hvordan de systemspecifikke dele er lavet i den.

Ada har indbygget adgang til biblioteker skrevet i andre sprog.[http://www.adaic.com/standards/ada95.html|Standarden]beskriver grænsesnittet til Cobol, C og Fortran, men GNU Ada kommer

også med grænsesnit til Java og C++.  Du har således let adgang til
at genbruge gammel kode skrevet i andre sprog.

GNU Ada oversætteren (også kendt som GNAT) blev udviklet parallelt

med den seneste ISO-standard for Ada (ISO/IEC 8652:1995) og var
allerede da standarden udkom i februar 1995, overordentlig brugbar.
I dag er det en oversætter i en kvalitet der gør at mange store
firmaer vælger GNU Ada når de har brug for en Ada-oversætter.  GNU
Ada fås blandt andet til Linux, DOS, Digital Unix, AIX, OS/2 og
Windows. Udviklerne bag GNU Ada gør meget ud af at oversætteren
følger ISO-standarden for Ada.  —  Det at følge standarderne
er i det hele taget noget man går meget op i i Ada-miljøet.  Siden
GCC 3.1 har GNAT været integreret i den officielle GCC-distribution.

Ada har, i modsætning til de fleste andre programmeringssprog,

indbygget mulighed for at skrive programmer hvor forskellige dele
af programmet kører parallelt med hinanden.  Man kan for eksempel
benytte parallelprogrammering hvis man vil lade sit program fordele
sig på alle computerens processorer, eller hvis forskellige dele af
programmet skal køre på forskellige maskiner.

Du kan finde en installationsvejledning til GNU Ada iAfsnit A.1og henvisninger til bøger og websteder

om Ada i[[program:program-boeger#boeger-ada|Afsnit C.1.2]].

Eksempel 2-1. »99 bottles of beer on the wall«

Som et eksempel på hvordan man bruger forskellige kontrolstrukturer i Ada,

 kan vi se på dette lille program der udskriver teksten til sangen
 »99 bottles of beer on the wall«:
  • Den første linje i kildeteksten (with…) importerer

de pakker vi skal bruge i programmet.

  • Selve programmet er en procedure,Bottles, der er delt

op i deklarationer (fraprocedure Bottles

   istilbegin) og ordrer
   (frabegintilend Bottles).
* I dette tilfælde er der to deklarationer; en procedure til at skrive
   antallet af flasker pænt med korrekte entals- og flertalsformer, og enuse-deklaration der gør de nævnte pakkers indhold
   direkte synligt i resten af proceduren (så man ikke behøver at foranstille
   pakkernes navn).

Hvis du gemmer[http://www.linuxbog.dk/program/eksempler/bottles.ada|programmets

 kildetekst]i filenbottles.adbog i øvrigt
 har installeret GCC's Ada-oversætter, så kan du oversætte det med
 kommandoen:<code>[tyge@hven ~]$gnatmake bottles.ada -cargs -gnati1 -gnatf -gnato -fstack-check</code>

og dernæst udføre det med kommandoen:

[tyge@hven ~]$./bottles99 bottles
[...]
No bottles of beer on the wall.

Eksempel 2-2. Kommandolinjetilvalg til GCC

I eksempletEksempel 2-1bruger vi kommandoen gnatmake med en lang række tilvalg der er nødvendige

 for at få GCC's Ada-oversætter til at opføre sig korrekt (som der står i
 Ada-standarden).  Dem er der ikke nogen grund til selv at skulle skrive
 hver gang man skal oversætte et program.  Hvis man indsætter koden:<code>function gm () {
 gnatmake ${*} -cargs -gnati1 -gnatf -gnato -fstack-check

}</code>

i${HOME}/.zshrc, vil man i Zsh kunne nøjes med at

 skrive:<code>[tyge@hven ~]$gm bottles.ada</code>

når man skal oversætte programmet fra eksempletEksempel 2-1.

Det kan være nyttigt med lidt mere detaljerede fejlmeddelelser end »der er

 en fejl på linje 17«.  Derfor bør man udvide definitionen ovenfor med
 tilvalget-gnatv:<code>function gm () {
 gnatmake ${*} -cargs -gnatv -gnati1 -gnatf -gnato -fstack-check

}</code>


forrige hjem næste
Introduktion Basic
linuxbog/program/vaelg-et-sprog.txt · Last modified: by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Brug af AI : Al tekst kán være uddrag af AI genereret tekst og kan være fejlbehæftet.
AI kan lave fejl og det kan mennesker også, men al tekst er gennemgået af et menneske for fejl, og personlig bias kan være tilføjet.