Objektorientert programmering vs prosessuell programmering
Object Oriented Programming (OOP) og Procedural Programming er to programmeringsparadigmer. Et programmeringsparadigme er en grunnleggende stil for dataprogrammering, og de skiller seg ut i måten forskjellige elementer i programmet er representert på og hvordan trinn for å løse problemer blir definert. Som navnet antyder, fokuserer OOP på å representere problemer med bruk av virkelige objekter og deres oppførsel, mens Prosedyrell programmering handler om å representere løsninger på problemer ved hjelp av prosedyrer, som er samlinger av kode som kjører i en bestemt rekkefølge. Det er programmeringsspråk som støtter nøkkelaspekter ved OOP (kalt OOP-språk), Prosedural (kalt Prosedyrespråk) 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,OOP-språk kan brukes til prosedyreprogrammering mens prosessuelle språk noen ganger kan brukes til OOP, med en viss innsats.
Prosedyreprogrammering er en måte å programmere på ved å identifisere trinnsettene for å løse et bestemt problem og den nøyaktige rekkefølgen de skal utføres for å nå ønsket resultat eller tilstand. Hvis du for eksempel vil beregne sluttsaldoen for en bankkonto ved månedsslutt, vil de nødvendige trinnene være som følger. Først anskaffer du startbalansen på kontoen, og deretter reduserer du alle belastningsbeløpene som skjedde i løpet av måneden. Etter det legger du til alle kredittbeløpene som skjedde i løpet av måneden. På slutten av prosessen får du kontoslutt. Et av hovedbegrepene i prosessuell programmering er prosedyreanropet. En prosedyre også kjent som en subrutine, metode eller en funksjon inneholder en ordnet liste over instruksjoner som skal utføres. En prosedyre kan kalles når som helst under gjennomføringen av en hvilken som helst annen prosedyre eller av seg selv. Eksempler på prosessuelle programmeringsspråk er C og Pascal.
I OOP fokuseres det på å tenke på problemet som skal løses i forhold til virkelige elementer og å representere problemet når det gjelder objekter og deres oppførsel. Objekt er en datastruktur som ligner noe objekt fra den virkelige verden. Objekter inneholder datafelt og metoder som representerer attributter og oppførsel til objekter i den virkelige verden. Det er flere viktige OOP-begreper som dataabstraksjon, innkapsling, polymorfisme, meldinger, modularitet og arv. Noen populære OOP-språk er Java og C #. Imidlertid kan de også brukes til å utføre prosedyreprogrammering.
Nøkkelforskjellen mellom OOP og prosedyreprogrammering er at fokuset for prosedyreprogrammering er å bryte ned programmeringsoppgaven til en samling variabler og underrutiner, mens fokuset på OOP er å bryte ned programmeringsoppgaven til objekter, som innkapsler data og metoder. Den mest bemerkelsesverdige forskjellen kan være at mens Prosedyrprogrammering bruker prosedyrer for direkte drift av datastrukturer, vil OOP binde dataene og metodene sammen slik at et objekt vil fungere på sine egne data. Når det gjelder nomenklatur, blir prosedyre, modul, prosedyreanrop og variabel i prosessuell programmering ofte referert til som henholdsvis metode, objekt, melding og attributt i OOP.