En dators språk består av ettor och nollor och kallas maskinkod. Maskinkoden kan tolkas direkt av datorns centralprocessor, men att koda på den nivån är komplicerad och tidskrävande och leder inte sällan till fel. Istället har en rad olika programspråk tagits fram som i sin tur sedan översätts till maskinkod som datorn kan tolka. I vissa fall, där programmeringskoden ligger nära maskinkoden, görs översättningen med hjälp av en assemblator, men vanligare är att man använder en kompilator. Dessutom finns så kallade interpreterade språk som tolkas under tiden man kör programmet, och språk som kan kompileras till en snabbtolkad byteskod.

  • Lågnivåspråk ligger nära maskinspråket
  • Högnivåspråk har en högre abstraktionsnivå
  • Populära programspråk är bland annat Java och Python

Lågnivå- och högnivåspråk – vilka är skillnaderna?

Ett programspråk, eller ett programmeringsspråk är ett språk som innehåller en rad regler i syfte att skapa olika typer av output. Vissa programspråk är skapade för att ganska exakt följa datorns typiska sätt att arbeta och nyttan med detta är främst att programmeraren i de fallen får bra kontroll över den maskinkod som kommer att skapas efter att programmet har kompilerats – med andra ord översatts till maskinspråk. Man brukar benämna den typen av programspråk som maskin- eller hårdvarunära språk, ibland även som lågnivåspråk. Bland lågnivåspråken är C kanske det mest kända. Motsatsen är högnivåspråk, vilka idag är de språk som används i störst utsträckning.

Högnivåspråk har visserligen en högre abstraktionsnivå än lågnivåspråk, men inom kategorin högnivåspråk finns ytterligare nivåer av abstraktion som skiljer olika språk åt. På den första nivån beskriver språket generellt hur något ska utföras, medan nästa abstraktionsnivå snarare beskriver vad det är som ska utföras. För att detta ska fungera behöver man ha ett begränsat problemområde så att kompilatorn som ska tolka koden kan använda definierade dellösningar som sätts ihop till en totallösning för det problem man vill lösa. Ett exempel på ett sådant språk är RPG som används för rapportgenerering. Nackdelen med högnivåspråk är framförallt att programmeraren har svårare att kontrollera hur programmet ska uppföra sig i detalj.

Java och Python är populära programspråk

Det finns hur många programmeringsspråk som helst och flera tillkommer varje år, men vissa är betydligt mer utbredda än andra. Bland de mest populära nämns ofta språken Java, Python, Visual Basic, JavaScript, Ruby, Perl, Pascal, Swift och MATLAB. Java, som idag är ett gigantiskt programmeringsspråk, började som ett internt projekt hos Sun Microsystems1990 som ett resultat av att ingenjören Patrick Naughton var frustrerad över hur C och C++ användes. Han fick i uppdrag att utveckla en ny teknik, och idag används tekniken vid allt från programmering av diskmaskiner till mobilspel. En fördel med Java är att språket har ett stort bibliotek med färdiga datastrukturer, vilket gör det lättare att använda.

Python utformades redan i slutet av 1980-talet och har därefter kommit att utvecklas till ett kraftfullt men samtidigt smidigt språk som stöder flera olika programmeringsparadigmer. Liksom när det gäller Java har Python ett rikt standardbibliotek som underlättar vid kodning. Utmärkande för Python är att det är elegant utformat med en väldigt ren programkod. Exempelvis behöver rader inte avslutas med semikolon, vilket annars är vanligt i programspråk. Inte heller klamrar behövs för att dela in koden i block, utan istället avgör indragningar var ett kod-block börjar och var det slutar. Detta underlättar i hög utsträckning läsbarheten av koden.

C++

C++ är baserat på kodspråket C och härstammar även det från 1980-talet. Främst används språket idag inom spelutveckling, men faktum är att C++ egentligen är ett mer allsidigt programmeringsverktyg som mer fördel kan användas för komplex programutveckling på bred front. C++ är ett av de svårare programmen, men på grund av dess bredd och kapacitet fyller programmet en väldigt viktig funktion – bland annat har det använts vid kodningen av både PayPal och Chrome. C++ har färre restriktioner än Java, och därtill stora öppna bibliotek som underlättar kodningen, och även om C++ är svårare än många andra språk är kunskaper från andra språk ofta överförbara.