När man fått igång sin Raspberry pi vill man naturligtvis använda den. Man kan ladda ner färdiga program och köra dessa men jag tror att de flesta som köper en Raspberry PI gör detta för att lära sig att styra olika saker eller lära sig lite mer om grunderna. Det finns otroligt många programmeringsspråk, de olika språken har kommit till av olika orsaker och anledningar, precis som med talande språk har de lånat saker från varandra och andra har utvecklats till nya språk.

Det finns två grupper av programmeringsspråk kompilerande och interpreterade. Den kod (språk) som programmeringsspråket använder sig av kallas källkod (av ursprungsordet på Engelska “Source Code”) denna översätts till något språk som datorn förstår. Det språk som datorn (CPU) förstår kallas maskinkod och består av ettor och nollor, maskinkod som textinstruktioner (som källkod) kallas ofta assemblerspråk.

Kompilerande språk

Kompilerande språk översätter källkoden till maskinkod. Fördelen med dessa är att koden blir mycket effektiv eftersom den kan optimeras för den speciella processorn, nackdelen är att den översatta koden bara fungerar på denna typ av processorer. Om  man ska kunna köra programmet på en annan processortyp som måste man kompilera om programmet för just den processor-typen. Exempel på sådana språk är  C och C++.

Det finns även en typ som översätter till en fiktiv processor som oftast kallas p-code för psevdo-kod. Denna kod kan inte processorn förstå utan behöver en översättare (Eng. interpretor). För att flytta koden mellan olika processorer behövs en översättare för varje processor som man ska köra programmet på. Fördelen är att man inte behöver kompilera om programmet när man flyttar programmet. Nackdelen är att den går lite långsammare så den måste översätta p-koderna. Exempel på sådana språk är java och pascal.

Interpreterade språk

Interpreterade språk behöver en översättare  för att köra som t.ex java, skillnaden är att den översätter koden oftast rad för rad. Fördelen är att man inte behöver kompilera koden innan man kör, nackdelen är att översättningen kräver processorkraft så dessa program går långsammare än de kompilerade. Vissa kompilerar koden allteftersom den körs så om en programslinga körs igen så går den snabbare andra gången den körs. Exempel på sådana språk är shell scripts, python, perl och php.