Lær hva programmering er, kompilerte vs. tolkede språk, og skriv ditt første Python-program.
Hva er programmering?
Tenk deg at du skal forklare en oppgave til noen som tar alt helt bokstavelig. Du kan ikke si «rydd rommet» og forvente at personen forstår hva du mener. Du må gi eksakte instruksjoner: «Plukk opp sokkene fra gulvet. Legg dem i skittentøyskurven. Ta bøkene fra sengen. Sett dem i bokhyllen.» Programmering fungerer på nøyaktig samme måte. Du skriver presise, steg-for-steg-instruksjoner som datamaskinen følger slavisk.
Programmering er en av de viktigste ferdighetene du kan lære i informasjonsteknologi. Det handler ikke bare om å lage apper og spill, men om en måte å tenke på. Når du lærer å programmere, lærer du å bryte ned komplekse problemer i håndterbare deler, og å formulere løsninger på en logisk og systematisk måte. Denne evnen til å tenke strukturert og analytisk, ofte kalt algoritmisk tenkning, er nyttig langt utover programmering.
I dette kapittelet skal du få en innføring i hva programmering egentlig er, hvilke typer programmeringsspråk som finnes, og hvordan du setter opp verktøyene du trenger for å skrive ditt aller første program. Vi bruker programmeringsspråket Python, som er et av de mest populære og nybegynnervennlige språkene i verden.
Programmering er prosessen med å skrive instruksjoner, kalt kode, som en datamaskin kan forstå og utføre. Disse instruksjonene skrives i et programmeringsspråk og utgjør til sammen et program. Programmering innebærer å analysere et problem, designe en løsning (en algoritme), implementere løsningen i kode, og teste at den fungerer som forventet. Det er en kreativ prosess som kombinerer logisk tenkning med problemløsning.
Programmeringsspråk
Et programmeringsspråk er et formelt språk som lar oss kommunisere med datamaskinen. Akkurat som norsk har grammatikk og regler for setningsoppbygging, har programmeringsspråk regler for syntaks (hvordan koden skal skrives) og semantikk (hva koden betyr).
Det finnes hundrevis av programmeringsspråk, og de brukes til forskjellige formål:
- Python - Allsidig og nybegynnervennlig. Brukes til dataanalyse, kunstig intelligens, webutvikling og mye mer. Dette er språket vi bruker i dette kurset.
- JavaScript - Brukes til å lage interaktive nettsider og webapplikasjoner. Kjører direkte i nettleseren.
- Java - Populært i store bedriftssystemer og Android-apper. Kjent for å være plattformuavhengig.
- C++ - Brukes der ytelse er kritisk, som i spill, operativsystemer og innebygde systemer.
- C# - Mye brukt i spillutvikling (Unity) og Windows-applikasjoner.
- Swift - Apples språk for utvikling av iOS- og macOS-apper.
Hvert språk har sine styrker og svakheter. Valget av språk avhenger av hva du skal lage, hvilken plattform du utvikler for, og hvilke verktøy og biblioteker som er tilgjengelige. Python er et utmerket startspråk fordi det har en enkel og lesbar syntaks som ligner naturlig engelsk.
Datamaskiner forstår bare maskinkode (binære nuller og enere). Derfor må kildekoden vi skriver i et programmeringsspråk oversettes til maskinkode. Det finnes to hovedmetoder for denne oversettelsen: kompilering og tolkning. Ved kompilering oversettes hele programmet til maskinkode på én gang, og resultatet lagres som en kjørbar fil. Ved tolkning leses og kjøres koden linje for linje av et tolkprogram (interpreter). Noen språk, som Java, bruker en kombinasjon der koden først kompileres til en mellomkode (bytekode) som deretter tolkes.
Kompilering og tolkning i praksis
Forskjellen mellom kompilering og tolkning er viktig å forstå, fordi den påvirker hvordan du jobber med et språk.
Kompilerte språk (f.eks. C++, Go, Rust)
Når du skriver et program i et kompilert språk, bruker du et verktøy kalt en kompilator for å oversette hele kildekoden til en kjørbar fil med maskinkode. Denne filen kan deretter kjøres direkte av operativsystemet, uten at du trenger kompilatoren lenger. Fordelen er at programmet kjører raskt fordi maskinkoden er optimalisert. Ulempen er at du må kompilere koden på nytt hver gang du gjør en endring, og den kompilerte filen fungerer bare på den plattformen den ble kompilert for.
Tolkede språk (f.eks. Python, JavaScript, Ruby)
Når du skriver et program i et tolket språk, bruker du et tolkprogram (interpreter) som leser kildekoden linje for linje, oversetter den og kjører den umiddelbart. Du trenger ikke å kompilere først, noe som gjør utviklingsprosessen raskere. Ulempen er at programmer i tolkede språk ofte kjører litt saktere enn kompilerte programmer, fordi oversettelsen skjer mens programmet kjører.
Python er et tolket språk. Det betyr at du kan skrive en linje kode og se resultatet med én gang. Dette gjør det til et utmerket språk for å lære programmering, fordi du får umiddelbar tilbakemelding på koden din.
Sammenligning:
| Egenskap | Kompilerte språk | Tolkede språk |
|---|---|---|
| Oversettelse | Hele programmet på én gang | Linje for linje |
| Hastighet | Raskere kjøring | Litt tregere kjøring |
| Utvikling | Må kompilere mellom endringer | Kjører umiddelbart |
| Feilmeldinger | Vises ved kompilering | Vises ved kjøring |
| Eksempler | C++, Go, Rust | Python, JavaScript, Ruby |
Hva er en IDE?
For å skrive kode trenger du et verktøy. Du kan i teorien skrive kode i et hvilket som helst tekstredigeringsprogram, som Notisblokk, men det er som å prøve å bygge et hus med bare en hammer. Et integrert utviklingsmiljø (IDE) gir deg alle verktøyene du trenger samlet på ett sted.
En god IDE tilbyr:
- Kodeeditor med syntaksfarging (ulike deler av koden får forskjellige farger, noe som gjør koden lettere å lese)
- Autofullføring som foreslår kode mens du skriver, slik at du slipper å huske alle kommandoer
- Feilmarkering som understreker feil i koden din før du kjører den
- Kjøremiljø slik at du kan kjøre programmet ditt direkte i editoren
- Debugger som hjelper deg å finne og rette feil i koden
Populære verktøy for Python:
- VS Code (Visual Studio Code) - Gratis og svært populær kodeeditor fra Microsoft. Støtter mange språk via utvidelser. Anbefales for dette kurset.
- Thonny - Enkel IDE designet spesielt for Python-nybegynnere. Lett å installere og bruke.
- PyCharm - Avansert IDE spesielt for Python. Community-utgaven er gratis.
- Replit - Nettbasert kodeeditor som ikke krever installasjon. Fungerer direkte i nettleseren.
For dette kurset anbefaler vi å installere VS Code og Python-utvidelsen, eller å bruke Thonny hvis du vil ha en enklere start. Du kan også bruke Replit i nettleseren hvis du ikke har mulighet til å installere programvare.
For å kjøre Python-programmer trenger du Python installert på datamaskinen din. Last ned Python fra python.org. Ved installasjon på Windows er det viktig å huke av for "Add Python to PATH" i installasjonsprogrammet. På Mac er Python ofte allerede installert, men det kan være en eldre versjon. Du kan sjekke ved å åpne terminalen og skrive python3 --version. Vi anbefaler Python 3.10 eller nyere.
Ditt første Python-program
Tradisjonen i programmering er at det første programmet du skriver i et nytt språk bare skal skrive ut teksten "Hello, World!" på skjermen. La oss følge denne tradisjonen.
Åpne din IDE (VS Code, Thonny eller Replit), lag en ny fil med navnet hei.py, og skriv følgende kode:
print("Hei, verden!")Kjør programmet. Du skal se teksten Hei, verden! på skjermen. Gratulerer, du har skrevet ditt første program!
La oss bryte ned hva som skjer:
1. print er en innebygd funksjon i Python som skriver ut tekst på skjermen.
2. Parentesene () forteller Python at vi kaller (bruker) funksjonen.
3. "Hei, verden!" er en tekststreng (string) som vi sender til print-funksjonen. Teksten må stå i anførselstegn.
Du kan også skrive ut flere ting:
print("Hei, verden!")
print("Jeg heter Python.")
print("Jeg er et programmeringsspråk.")Kjøring gir:
Hei, verden!
Jeg heter Python.
Jeg er et programmeringsspråk.Hver print-setning skriver ut teksten sin på en ny linje. Python kjører instruksjonene fra topp til bunn, én linje om gangen.
Skriv et program som presenterer deg selv med navn, alder og favorittfag.
print("=== Min presentasjon ===")
print("Navn: Sara")
print("Alder: 17 år")
print("Favorittfag: IT 1")
print("========================")Kjøring gir:
=== Min presentasjon ===
Navn: Sara
Alder: 17 år
Favorittfag: IT 1
========================Her ser vi at vi kan bruke print() til å skrive ut hva vi vil. Likhetstegnene brukes bare for å lage en visuell ramme rundt presentasjonen. Python bryr seg ikke om innholdet i tekststrengen, den skriver bare ut det som står mellom anførselstegnene.
Kommentarer
Kommentarer er tekst i koden som Python ignorerer fullstendig. De er skrevet for mennesker, ikke for datamaskinen. Kommentarer brukes til å forklare hva koden gjør, og er spesielt nyttige når du jobber i team eller når du skal se på koden din igjen senere.
I Python lager du en kommentar med #-tegnet:
# Dette er en kommentar - Python ignorerer denne linjen
print("Hei!") # Kommentar kan også stå etter kode
# Du kan bruke kommentarer for å forklare hva koden gjør:
# Beregn arealet av en sirkel
radius = 5
areal = 3.14 * radius * radius
print(areal) # Skriver ut 78.5Gode vaner for kommentering:
- Kommenter hvorfor du gjør noe, ikke bare hva du gjør
- Hold kommentarene oppdaterte når du endrer koden
- Skriv kommentarer på norsk eller engelsk, men vær konsekvent
- Ikke overkommenter åpenbar kode (som x = 5 # Sett x til 5)
En algoritme er en presis, trinnvis beskrivelse av hvordan et problem skal løses. Tenk på det som en oppskrift: den beskriver nøyaktig hvilke steg som skal utføres, i hvilken rekkefølge, for å nå et bestemt resultat. Før du begynner å skrive kode, bør du alltid tenke gjennom algoritmen først. Du kan beskrive algoritmen i vanlig norsk, som en punktliste, i et flytdiagram, eller i pseudokode (en forenklet versjon av programmeringsspråk). Alle programmer er implementasjoner av algoritmer.
Lag en algoritme og et program som beregner gjennomsnittet av tre tall.
1. Velg tre tall
2. Legg tallene sammen for å få summen
3. Del summen på 3 for å få gjennomsnittet
4. Vis resultatet
Implementasjon i Python:
# Beregn gjennomsnittet av tre tall
tall1 = 8
tall2 = 15
tall3 = 4
# Beregn summen
summen = tall1 + tall2 + tall3
# Beregn gjennomsnittet
gjennomsnitt = summen / 3
# Vis resultatet
print("Tallene er:", tall1, tall2, tall3)
print("Summen er:", summen)
print("Gjennomsnittet er:", gjennomsnitt)Kjøring gir:
Tallene er: 8 15 4
Summen er: 27
Gjennomsnittet er: 9.0Legg merke til at vi først skrev algoritmen på vanlig norsk, og deretter oversatte hvert steg til Python-kode. Kommentarene i koden gjenspeiler stegene i algoritmen. Resultatet 9.0 (med desimal) skyldes at Python bruker desimaldivisjon som standard.
Start med gode vaner helt fra begynnelsen. Gi variablene beskrivende navn (som gjennomsnitt i stedet for g), bruk kommentarer for å forklare koden, og test programmet ditt grundig etter hver endring. Det er mye lettere å lære gode vaner enn å avlære dårlige.
Pass på disse vanlige feilene når du skriver dine første Python-programmer:
- Glemme anførselstegn rundt tekst: print(Hei) gir feil, riktig er print("Hei")
- Feil parenteser: print "Hei" fungerer ikke i Python 3, du må ha parenteser: print("Hei")
- Store/små bokstaver: Python skiller mellom store og små bokstaver. Print er ikke det samme som print
- Manglende hermetegn: Hver tekststreng må ha matchende anførselstegn. print("Hei) mangler slutt-anførselstegn
Oppsummering
I dette kapittelet har du lært:
- Programmering: å skrive kode en datamaskin kan utføre.
- Kompilering vs. tolkning: oversettelse til maskinkode før eller under kjøring.
- IDE: utviklingsmiljø for å skrive og kjøre kode.
- Python-grunnlag: print() og kommentarer.
- Algoritme: presis, trinnvis beskrivelse av en løsning.
Noekkelbegreper
| Begrep | Forklaring |
|---|---|
| Programmering | Å skrive instruksjoner (kode) for en datamaskin |
| Kompilering | Hele koden oversettes til maskinkode før kjøring |
| Tolkning | Koden oversettes linje for linje under kjøring |
| Algoritme | Presis trinnvis beskrivelse av en løsning |
Oppgaver
Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.