Objektorientert programmering vs prosedyreprogrammering
Objektorientert programmering (OOP) og prosessprogrammering er to programmeringsparadigmer. Et programmeringsparadigm er en grunnleggende stil for dataprogrammering, og de varierer i hvordan forskjellige elementer i programmet er representert og hvordan fremgangsmåten for å løse problemer er definert. Som navnet antyder, fokuserer OOP på å representere problemer ved bruk av virkelige objekter og deres oppførsel, mens Procedural Programming omhandler å representere løsninger på problemer ved bruk av prosedyrer, som er samlinger av kode som kjører i en bestemt rekkefølge. Det er programmeringsspråk som støtter viktige aspekter ved OOP (kalt OOP-språk), Prosedyre (kalt Procedural Languages) og begge deler. Men en viktig ting å merke seg er at OOP og Procedural er to måter å representere problemer som skal løses, og det spiller ingen rolle hvilket språk som brukes. Med andre ord kan OOP-språk brukes til Procedural Programming, mens Procedural språk kan noen ganger brukes til OOP, med litt innsats.
Prosedyreprogrammering er en måte å programmere ved å identifisere settet av trinn for å løse et bestemt problem og den nøyaktige rekkefølgen som de skal utføres for å nå ønsket resultat eller tilstand. Hvis du for eksempel vil beregne sluttkurs for slutten av måneden for en bankkonto, vil de nødvendige trinnene være som følger. Først får du den opprinnelige saldoen på kontoen, og deretter reduserer du alle debetbeløpene som oppstod i løpet av måneden. Deretter legger du til alle kredittbeløpene som skjedde i løpet av måneden. På slutten av prosessen får du månedsavslutningen på kontoen. Et av hovedprinsippene i Procedural Programming er Prosedyreanropet. En prosedyre, også kjent som en subrutine, metode eller en funksjon, inneholder en bestilt liste over instruksjoner som skal utføres. En prosedyre kan bli kalt når som helst under gjennomføringen ved en hvilken som helst annen prosedyre eller i seg selv. Eksempler på Procedural programmeringsspråk er C og Pascal.
I OOP fokuseres det på å tenke på problemet som skal løses i forhold til virkelige elementer og representerer problemet når det gjelder gjenstander og deres oppførsel. Objektet er en datastruktur som ligner på noe virkelig objekt. Objekter inneholder datafelt og metoder som representerer attributter og oppførsel av virkelige objekter. Det er flere viktige OOP-konsepter som Data Abstraksjon, Encapsulation, Polymorphism, Messaging, Modularity and Arv. Noen populære OOP-språk er Java og C #. De kan imidlertid også brukes til å utføre Prosedyreprogrammering.
Hovedforskjellen mellom OOP og Procedural Programming er at fokuseringen i Prosedyreprogrammering er å bryte ned programmeringsoppgaven inn i en samling av variabler og subrutiner, mens OOP fokuserer på å bryte ned programmeringsoppgaven i objekter som inkapsler data og metoder. Mest merkbar forskjell kan være at mens Procedural Programming bruker prosedyrer for å operere direkte på datastrukturer, vil OOP pakke dataene og metodene sammen slik at et objekt vil operere på egne data. Når det gjelder nomenklatur, prosedyre, modul, prosessanrop og variabel i Prosedyreprogrammering, refereres ofte til som metode, objekt, melding og attributt i OOP.