Ordliste

Deklarative sprog

En gruppe sprog bestående af funktionsorienterede sprog og logikorienterede sprog, hvor man beskriver forholdet mellem variable istedet for at opstille en række beregningsskridt computeren skal gennemføre. Et eksempel på logikprogrammering er prolog og eksempler på funktionorienteret programmering er Scheme og Haskell. (Sammenlign med imperative sprog).

fri standard

En fri standard overholder følgende krav:

  1. Ingen restriktion på anvendelse.

  2. Ingen restriktion på implementation.

  3. Bevarelse af standardens integritet.

  4. Fri tilgængelighed til standarden.



ad 1) En standard må ikke sætte begrænsninger på hvor standarden kan finde anvendelse, og heller ingen begrænsninger på hvad man må gøre ud over hvad standarden foreskriver. (cirka open source-definitionen punkt 5 og 6)

ad 2) Der må ikke være restriktioner på hvem der må implementere standarden, hvordan den implementeres, eller hvordan implementationen licensieres. Dette hindrer blandt andet at åbne standarder anvender patenterede algoritmer. (cirka open source-definitionen punkt 5 og 6, giver mulighed for at anvende OSD-licenser på implementationen)

ad 3) En standard må kræve at der tydeligt skal gøres opmærksom på hvor implementationen går ud over hvad standarden implementerer. (cirka open source-definitionens punkt 4)

ad 4) Det skal være tilladt af videredistribuere hele eller dele af standarden. (cirka open source-definitionens punkt 1)

Se i øvrigt Peter Makholms skriblerier om åbne og frie standarder (http://peter.makholm.net/skriblerier/openstandards) for en uddybning af denne definition.

frie programmer

Programmer der distribueres efter "Open Source"-reglerne. Kort fortalt går det ud på at hvis du har fået et frit program, så:

  • Må du frit sælge eller videregive programmet.

  • Har du ret til at få kildeteksten til programmet.

  • Har du ret til at videreudvikle programmet.



GNU Compiler Collection (GCC)

GNU-projektets oversættersystem. Det kan oversætte adskillige programmeringssprog til nok endnu flere forskellige platforme. Fidusen ved GCC er at oversættersystemet er delt i to dele; "forenden", hvor der findes en til hvert programmeringssprog, og "bagenden", hvor der findes en til hver platform. Og kommunikationen mellem for- og bagende sker på en form der er uafhængig af både programmeringssprog og platform.

hoballokering (eng: heap allocation)

Når allokering af data foregår fra en på forhånd afgrænset del af hukommelsen. Hvor i hukommelsen data bliver langt har intet med programmets yderligere struktur at gøre.

I C får bruger man hoballokeret hukommelse når man bruger funktionen malloc. Se også stakallokering.

Imperative sprog

Sprog hvor man beskirver en række trin der skal udføres for at foretage en beregning. Eksempler på impperative sprog er Ada og C

PID

Forkortelse af det engelske udtryk "process identification". Se procesnummer.

procesnummer

Et tal som styresystemet bruger til at identificere en proces, dvs. et startet program. Hvis du starter flere eksemplarer af det samme program, vil hvert eksemplar have sit procesnummer. Så længe en proces bruger ressourcer, for eksempel hukommelse, på systemet, vil man kunne referere til den ved dens procesnummer, uanset om den egentlig er aktiv.

stak (datastruktur)

En måde at organisere data på der svarer til en stak papirer på et skrivebord. Du kan kun se det øverste objekt på stakken, og for at få adgang til et objekt længere nede i stakken, må du først fjerne alle dem der ligger ovenpå.

stakallokering

Når variabler bliver allokeret i en stak. Man kan gaodt tilgå variable der er allokeret længere nede i stakken, men variable bliver deallokeret i streng modsat rækkefølge end de bliver allokeret.

Stakallokering bliver ofte brugt til lokale variable i funktioner. Se også hoballokering

åben standard

En åben standard overholder de første tre krav til en fri standard, men behøver ikke nødvendigvis at kunne distribueres frit.