Hög - och låg - nivå datorprogrammering språk är konstruerade för kommunikation mellan en människa och en dator på olika abstraktionsnivåer . En mycket låg nivå språk skulle innebära en människa att ge instruktioner direkt till en dators hårdvara , som använder språket och strukturen på denna hårdvara , i högnivåspråk , människor arbetar med komplexa , abstrakta logiska verktyg för att skriva instruktioner som ett särskilt program måste översätta för datorn. Det är i allmänhet lättare för människor att använda dessa verktyg . Programspråk
Ett programmeringsspråk är ett språk som människor kan ge datorerna instruktioner . En lista med instruktioner redo att ges till en dator och exekveras kallas ett program. I huvudsak instruktioner lagra , flytta och ändra värden i datorns minne , kan dessa värden tolkas av olika anordningar --- bildskärmar, högtalare , tangentbord, touchpads , möss --- som ger sätt att kommunicera med en användare < . br >
Machine Code
en låg - nivå språk är ett som är nära till grunderna i datorns maskinvara . Den lägsta - nivå språk är maskinkod , vilket förstås direkt av hårdvaran och inte kräver någon tolkning eller översättning . Maskinkod består helt av strängar av binära tal : de berömda nollor och ettor . Även om det kan göra något annat språk kan göra --- ja , måste alla andra språk översätts till maskinkod av en tolk --- det är inte utformad kring behoven av programmerare , kräver ett mycket nära förståelse för en dators processor och anordningar , och är nästan omöjligt för en människa att läsa .
Assembly Language
nästa " högre " programmeringsspråk är assembler , vilket är maskinkod med instruktionskoder ersatts av mer intuitiva kommandon . Kommandot för att sätta ett värde på 97 till ett minne register kallas AL , till exempel --- vilket i maskinkod vara " 10.110.000 01.100.001 " --- skulle i assembler vara " MOV AL , 97 " , fortfarande en kryptisk kommando men ett mycket lättare att lära . Även om det fortfarande ineffektivt att skriva och kräver en programmerare för att förhandla direkt med hennes dators hårdvara , är det en högre nivå språk än maskinkod eftersom det är mer abstrakt : Det är närmare till författaren
högre nivå språk
Moderna programmerare skriver även i assembler mycket sällan . Istället använder de en av många olika högre nivå språk som C , Java eller Python , vilka program som kallas kompilatorer eller tolkar kan översätta till maskinkod . Dessa språk bort programmeraren från den fysiska världen av hårdvaran och i logisk abstraktion : Hellre än att flytta hexadecimalvärden runt minnesregistren arbetar programmeraren med variabler vars innehåll kan ändras , slingor som kan upprepas tills vissa villkor uppfylls , logiska förklaringar gillar IF , och därefter , OR och annat, och andra verktyg . Dessa språk är uppbyggda kring programmeraren , uppmärksam på hur hon kan ges mest makt med minsta svårighet .
Jämförelser
högnivåspråk är inte så kallade eftersom de är " bättre " än låg - nivå språk . Ibland , kan förmågan att tala mer direkt till en dators processor i assembler eller ens maskinkod lösa problem försvåras av lager av abstraktion i en högre nivå språk . En mycket högnivåspråk får endast behandla ett visst operativsystem , som Microsoft Visual Basic , eller med ett visst program , som " makron " i en ordbehandlare . Dessa program är mycket användbara för någon som vill manipulera Windows eller Word utan att veta om konsten hur varje verk --- men ett sådant språk skulle vara till någon nytta för någon som försöker skriva ett program för sin egen , som skulle behöva något lägre nivå . En programmerare väljer alltså ett språk baserat på det jobb som han behöver göra .