(low-level programming language) – programspråk som i detalj anger hur datorns processor ska arbeta och hur minnet ska användas. När man programmerar 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 instruktionerna 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 kompilering. – 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]