Wat is een programmeertaal op laag niveau?
Er is enige onenigheid over de exacte definitie van een programmeertaal op laag niveau, maar alle definities hebben een aantal dingen gemeen met betrekking tot de kenmerken van een dergelijke computertaal. Die kenmerken zijn onder meer: gelijkenis met binaire code, vereiste kennis van de rol van de centrale verwerkingseenheid (CPU) en het vermogen van de programmeur om hardware via de taal te besturen. Sommige mensen beschouwen elke computertaal op een laag niveau als deze niet vergelijkbaar is met een taal die mensen spreken. Anderen beschouwen elke taal die vereist dat de programmeur de ingewikkelde en zeer complexe werking van de CPU begrijpt op een laag niveau. Er moet aan worden herinnerd dat een echt low-level programmeertaal in het algemeen aan al deze beschrijvingen voldoet.
Binaire code, ook wel machinecode genoemd, is de enige taal die de CPU, of het 'brein' van een computer, begrijpt en 'spreekt'. Machinecode lijkt, als deze door een persoon wordt bekeken, op veel reeksen van de cijfers 1 en 0; ze vertegenwoordigen een staat van aan of uit zijn, net als een licht dat aan of uit staat. Code van een programmeertaal op hoog niveau zou er heel anders uitzien dan machinecode omdat het symbolen en werkelijke woorden bevat die worden gebruikt in een taal, meestal Engels, die mensen spreken. Dit betekent echter niet dat iemand die geen computerprogrammeur is, de code net zo goed in een taal op hoog niveau zou begrijpen als op een laag niveau.
Een van de grootste voordelen van een programmeertaal op laag niveau is het vermogen en de vrijheid om nauwkeurige controle uit te oefenen over dingen zoals geheugengebruik en verwerkingstijd. Dit betekent dat programma's die in een taal op laag niveau zijn geschreven, zeer efficiënt gebruik moeten maken van systeembronnen, wat zeer gewenst kan zijn bij het coderen voor systemen met zeer beperkte middelen. Een dergelijk voordeel komt niet zonder een prijs. Ontwikkelaars en technici die coderen in een programmeertaal op laag niveau, moeten een goed begrip hebben van de functies van de CPU om instructies te schrijven die van invloed zijn op het geheugen en de verwerkingstijd.
Coderen in een programmeertaal op laag niveau is buitengewoon tijdrovend en vervelend. Dit verhoogt begrijpelijkerwijs de kosten die gepaard gaan met het laten ontwikkelen van een programma in een dergelijke taal, omdat het equivalent van slechts twee regels code in een taal op hoog niveau maar liefst 20 regels kan vereisen in een programmeertaal op laag niveau. Een dergelijke trage ontwikkeling maakt talen op een laag niveau vooral geschikt voor zeer kleine programma's. Ze worden bijna nooit gebruikt voor de ontwikkeling van grotere programma's.