Programmeringsparadigme

Programmeringsparadigmer beskriver forskjellige fundamentale måter å programmere en datamaskin på. Det er vanligvis snakk om fire overordnede og relativt forskjellige programmeringsparadigmer – imperativt, funksjonsorienteret, objektorienteret og logikkbasert.

Oppsummert er noen vanlige programmeringsparadigmer:

 Imperativ, hvor programmøren instuerer hvordan maskinen skal endre tilstand
 Prosedyreorientert, hvor instruksjoner grupperes i prosedyrer
 Objektorientert, hvor instruksjoner grupperes med delen av tilstanden de opererer på

 Deklarativ, hvor programmøren kun deklarerer egenskaper i det ønskede resultatet, men ikke hvordan det regnes ut
 Funksjonell, hvor det ønskede resultatet blir deklarert som verdien av en serie av funksjons-applikasjoner
 Logisk, hvor det ønskede resultatet blir deklarert som svaret til et spørsmål om et system av fakta og regler
 Matematisk, hvor det ønskede resultatet blir deklarert som løsningen på et optimeringsproblem
 Reaktiv, hvor det ønskede resultatet blir deklarert med datastrømmer og propagering av endringer

Deklarativ programmering 

Deklarativ programmering er logikkbasert, og brukes bl.a. i kunstig intelligens. Det mest kjente programmeringsspråket hvor logikkbasert programmering gjør seg gjeldende er Prolog.

Funksjonell programmering 

I funksjonell programmering behandles oppgaven som skal løses som en evaluering av matematiske funksjoner. Eksempler på programmeringsspråk hvor funksjonell programmering gjør seg gjeldende er Scheme, Erlang, OCaml, Haskell, SML og Lisp.

Generisk programmering

Imperativ programmering 

Imperativ programmering hentyder til at man beskriver for datamaskinen – trinn for trinn – hva den skal gjøre, og hvordan den skal gjøre det. Paradigmet kan kalles for programmering på elektronikkens premisser. De mest kjente programmingsspråkene hvor imperativ programmering gjør seg gjeldende er C og Pascal.

Objektorientert programmering 

I objektorientert programmering løser vi oppgaven som skal løses ved hjelp av såkalte objekter. Et objekt i programmet representerer en forestilling av objektet i virkeligheten. F.eks. kan objektet bil også representeres som et objekt i objekorientert programmering. Vi vil da ha metoder/funksjoner som representerer ting objektet kan gjøre (f.eks. kjøre, bremse eller tute) og variabler som representerer verdier som objektet har (f.eks. farge, antall seter eller vekt). Objekter med lignende egenskaper kan samles i klasser. Eksempler på programmeringsspråk hvor objektorientert programmering gjør seg gjeldende er bl.a. Java, C++ og C#. Objektorientert programmering ble oppfunnet i Norge, og har av Steve Jobs blitt kalt «den industrielle revolusjonen innen programmering».

Prosedyrisk programmering

Strukturert programmering 

Programmering