Högnivåspråk är en typ av programspråk. Det som kännetecknar ett högnivåspråk är att instruktionerna ligger på en relativt hög abstraktionsnivå; högnivåspråk är konstruerade att till sitt uttryck så långt som möjligt motsvara det sätt på vilket programmeraren ser på det problemet som skall lösas, inte på det sätt datorns maskinvara skall hantera problemet. Högnivåspråk används dels som benämning på programspråk andra än maskinspråk och assembler, dels som benämning på programspråk med en relativt hög abstraktionsnivå, i detta fall till skillnad från maskinnära lågnivåspråk som C.

Nackdelen med högnivåspråk (relativt assembler respektive mer maskinnära språk som C) är att programmeraren har svårare att precisera och kontrollera hur programmet i detalj skall uppföra sig. Detta kan innebära säkerhetsproblem i de fall programspråket inte hanterar konstruktionerna rätt eller resursslöseri då programmeraren inte förstår implikationerna av hur han eller hon använder olika konstruktioner (eller förhindras optimera). Ofta uppkommer motsvarande problem med mer maskinnära språk, då programmeraren gör misstag respektive koncentrerar sig på detaljer istället för på helheten.

Lågnivåspråk anses ofta lätta att lära sig men svåra att bemästra då det krävs fler instruktioner än vad ett högnivåspråk kräver för att utföra samma moment. Fördelen med lågnivåspråk är att en erfaren programmerare kan skriva mer kompakta och resurssnåla program än vad som är möjligt med ett högnivåspråk. Fördelen med högnivåspråk är att det, tack vare den högre abstraktionsnivån, är lättare att skriva datorprogram (i synnerhet större sådana) samtidigt som mängden fel minskar och felsökningen och förbättring av programmen underlättas.

Högnivåspråk avsedda också för systemprogrammering, såsom Modula-2 har i allmänhet konstruktioner som möjliggör användande av assembler för mindre kodblock, där man vill utnyttja sådana funktioner som inte stöds av kompilatorn eller som måste utföras på ett specifikt sätt. Den som har god förståelse för programspråket och kompilatorn kan också ofta få kompilatorn att generera önskad kod genom att justera hur han skriver programmet.

Nuförtiden skrivs de flesta datorprogram med högnivåspråk. Exempel på programspråk är C++, C#, BASIC, Java och Pascal.

Exempel på ett litet program skrivet i högnivåspråket Quick Basic:

PRINT "Hello world!"

Programmet skriver texten "Hello world!" på skärmen.

Se även redigera