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
    • Prosedyrisk, 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 rediger

Utdypende artikkel: 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 rediger

Utdypende artikkel: 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 rediger

Utdypende artikkel: Generisk programmering

Imperativ programmering rediger

Utdypende artikkel: 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 rediger

Utdypende artikkel: 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 rediger

Utdypende artikkel: Prosedyrisk programmering

Strukturert programmering rediger

Utdypende artikkel: Strukturert programmering