Nackdelarna med högnivåprogrammeringsspråk

I datorprogrammeringsterminologi är programmeringsspråk ofta uppdelade i "högnivå" och "lågnivå" språk. Skillnaden mellan de två är en fråga om hårdvaruinteraktion. Enkelt uttryckt finns lågnivåspråk "lägre" i datorsystemet, närmare faktisk hårdvaruinteraktion. Språk på hög nivå abstraheras bort från hårdvaran. Resultatet av denna abstraktion kan resultera i snabbare, mer läsbar kod, men lägre hastighetsfördelar och mindre tillgång till systemresurser.

Abstraktion

Det som skiljer högnivåspråk från lågnivåspråk är graden av abstraktion ett språk har från systemresurser. Att hantera systemresurser dagligen kan bli långsamt och smärtsamt. Språk på hög nivå skapades för att hantera detta problem genom att hantera systemet för programmeraren, frigöra henne att slutföra mer avancerad uppgift samtidigt som hon ignorerar de små detaljerna i systemet, såsom minne förvaltning. Detta har dock en nackdel genom att en programmerare kan hamna i en situation där systemåtkomst krävs, och ett språk på hög nivå kan inte ge den åtkomsten. Ett språk på hög nivå är vanligtvis inte lämpligt för systemprogrammering.

Dagens video

Fart

Språk på hög nivå är vanligtvis "tolkade" språk snarare än de "kompilerade" lågnivåspråken. "Tolkad" betyder helt enkelt att ett språk använder en tolk som exekverar källkoden en rad i taget, snarare än att kompilera en binär fil. Tolkar är dock ofta program skrivna på kompilerade språk. På grund av detta körs det tolkade språket - Python, som ett exempel - bara ovanpå Python-tolken, som är skriven i C. Detta ökar minnet och tiden för tolkade program, och de körs ofta långsammare.

Systemets egenheter

En till synes styrka med högnivåkod är dess portabilitet. Högnivåkod kan köras på alla system som har rätt tolk installerad. Men när ett program kompileras för en dator tar det hänsyn till hela systemets miljö i kompileringen. Ett tolkat språk är redan abstraherat från systemet till en sådan punkt att det tolkade programmet inte vet något om systemet förutom vad tolken kan tillhandahålla det.

Programmeringsgränser

På grund av högnivåspråkens natur finns det vissa uppgifter som de inte lämpar sig för, eller åtminstone ännu inte lämpar sig för. Utan tillgång till systemresurser är det svårt att utveckla snabba, OS-baserade applikationer. Dessutom blir till och med att utveckla ett operativsystem problematiskt. När mer mjukvara flyttas online blir detta faktum mindre oroande, men för kommersiell och industriell användning kan tolkade språk fungera för långsamt eller för långt borta från hårdvaruinteraktion.