högnivåspråk

programspråk som låter programmera­ren beskriva uppgiften som ska lösas, men utan att ange hur det ska gå till. – Med högnivåspråk är det kompilatorn som omvandlar programkoden till körbar binärkod, och det kan ge mycket olika resultat beroende på vilken kompilator som används. Högnivåspråk gör det lättare för personer med fackkunskaper i det aktuella problemområdet att programmera. Man anger vad som ska göras, inte hur det ska utföras av datorns processor. Det kallas för högnivåspråk därför att språkets instruktioner är på en hög abstraktionsnivå i för­håll­ande till de instruktioner som datorns processor exekverar – jämför med lågnivåspråk. Det finns en glidande skala mellan lågnivåspråk – de mest extrema är maskinkod och assembler – till utpräglade högnivåspråk som Prolog och Haskell. Historiskt kallades programspråk som Cobol, Fortran och Basic för högnivåspråk när de var nya, liksom C, men nu kallas de språken ibland för lågnivåspråk. En typisk form av högnivåspråk är de deklarativa språken. – Det första högnivåspråket var Konrad Zuses† Plankalkül från 1940‑talet. – På engelska: high-level programming language, HLL.

[programspråk] [ändrad 10 mars 2022]

lågnivåspråk

(low-level programming language) – programspråk som i detalj anger hur datorns processor ska arbeta och hur minnet ska användas. När man program­me­rar i lågnivåspråk beskriver man vad datorns processor ska göra, men när man programmerar i högnivåspråk beskriver man vad programmet ska göra, och låter sedan en kompilator omvandla källkoden till instruktioner som datorns processor kan exekvera. Att programmera i lågnivåspråk kräver ingående kunskaper om hur en viss dator, främst processorn, fungerar. Minsta misstag kan göra ett program oanvändbart, och felet kan vara svårt att hitta.

  • – Fördelen med programmering i lågnivåspråk är att programmen kan bli mycket snabba och använda lite minne;
  • – Nackdelar är dels att programmering i lågnivåspråk är svårt, dels att programmen inte blir flyttbara (portabla), utom till datorer med samma processor. Programmen blir också svåra att underhålla.

– Den mest renodlade formen av lågnivåprogrammering är maskinkod. Maskinkod är inte något programspråk alls, utan man använder samma instruktioner som processorn använder. Alla instruktioner skrivs som sifferkoder. Man måste ange exakt var värden ska lagras i minnet och var värden ska hämtas. Koden kan sedan matas in i datorn direkt och köras. – Nästa steg är assembler, som enkelt uttryckt är maskinkod, fast instruktion­erna har fått namn som är begripliga för människor. – Numera används lågnivåspråk mycket sällan, utom för funktioner i operativsystem som kräver mycket snabb exekvering. – Man kan också säga att det finns en glidande skala från lågnivåspråk till högnivåspråk. Det kanske mest spridda och efterliknade programspråket, C, är i vissa avseenden ett lågnivåspråk, eftersom det ger programmeraren stora möjligheter till detaljstyrning, men program skrivna i C kan, till skillnad från program i maskinkod och assembler, köras på vilken dator som helst efter kompi­ler­ing. – Liknelse: Högnivåspråk fungerar som om man skulle säga till en självkörande bil: ”kör till Oslo!”. Lågnivåspråk förutsätter att du vet exakt var bilen står, sedan skriver du: ”starta motorn”, ”kolla backspegeln” och så vidare, gatukorsning efter gatukorsning hela vägen till Oslo. Man inser att alla instruktioner och värden som man måste ange i lågnivåspråk på något sätt också måste ges när man exekverar program skrivna i högnivåspråk. 

[programspråk] [7 juni 2017]