Välkommen till Programmering 1 med processing

I den här kursen ska du lära dig programmering från grunden.

Inledning

För att förstå vad programmering är och vad det innebär så måste man känna till lite om hur en dator fungerar. Denna magiska maskin som är så underbar döljer ett mörkt förflutet som vi som programmerar måste känna till. En dator är nämligen en matematisk manick som bara följer tydliga instruktioner som i förväg bestäms. Vad betyder då detta? Jo man kan se en dator (egentligen processorn i datorn) som en avancerad miniräknare. Rent definitionsmässigt så är det heller ingen skillnad på en modern miniräknare och en avancerad persondator (PC) eller för den delen en XBox.

Instruktioner

Med en vanlig miniräknare kan vi mata in data (input) i form av siffror samt bestämma vad vi ska göra med dessa. Vi kan addera, subtrahera, multiplicera och dividera med en enkel miniräknare. Dessa operationer eller instruktioner fungerar likadant som på persondator där processorn har ett visst antal instruktioner som den kan hantera. Nu har en processor betydligt fler instruktioner än en enklare miniräknare där de fyra räknesätten bara är en del av de instruktioner som kan utföras. Miniräknaren matar sedan ut resultatet på en liten display. Med en persondator kan vi använda betydligt fler hjälpmedel, såsom tangentbord, mus, mikrofon, scanner mm för att mata in data. En persondator kan även ge utdata (output) på en rad olika sätt såsom via skärm, högtalare och skrivare.

Vad är ett program?

Vad är då ett program (dataprogram / datorprogram)? Jo det kan beskrivas som ett i förväg bestämd serie med instruktioner som bygger upp det vi i vardagligt tal kallar för ett program. Nu fungerar inte en dator som "vanligt" folk utan har den egenheten att den bara förstår och kan behandla binära tal (data), dvs. de berömda ettorna och nollorna. Detta har med grundläggande digitalteknik att göra vilket vi inte kommer att gå in på här utan nöjer oss med att konstatera att man som programmerare har nytta av att känna till hur binära (och hexadecimala) tal fungerar.

Källkod och maskinkod

För att röra till det ytterligare så finns program i två format, källkod och maskinkod (ibland binärkod). Eftersom det är väldigt jobbigt för oss människor att skapa maskinkod direkt så skrivs (programmeras) programmen i källkod (ibland kort och gott kod). Källkod kan liknas vid ett matrecept och beskriver steg för steg vad som skall göras. Det är viktigt att källkoden skrivs korrekt och med rätt grammatik vilket kallas syntax och som beror på det programmeringsspråk som används (mer om detta senare). Källkod kan inte datorn förstå rakt av utan den måste översättas till maskinkod (kompileras eller interpreteras) så att datorn kan köra programmet (kallas även exekvera). Programmet som översätter källkoden i förväg till maskinkod kallas för kompilator om den översätta en rad och utför den direkt kallas den interpreter. I många utvecklinsgmiljöer känner man inte av vilken sort det är för att din kod översätts hela tiden backgrunden.

Olika programmeringsspråk

Det finns massvis med olika programmeringsspråk (eller programspråk) att välja bland. Det finns faktiskt över hundratals (kolla bara OOP-varianter)varav ca ett tiotal är vanligt förekommande idag. Man kan lite slarvigt säga att alla programspråk är bra på något eller utvecklade för en viss tillämpning eller att fungera i en viss miljö. Detta i kombination med att vissa programspråk vidareutvecklats gör att det finns så många varianter på programspråk.

Vi har valt att börja med processing. Det byggar på Java men är tänkt för nybörjare eller för de som skulle vilja skapa digital konst. Tröskeln för att komma igång är ganska låg, det räcker med ett par rader kod för sin första konstverk. Men det inebär inte att det är begränsad till simpla ritningar. Kolla https://www.openprocessing.org/ för avancerade exempel inom Particle Systems eller Games.

Du kan börja med Installation