Objektorienterad programmering vs procedurell programmering
Object Oriented Programming (OOP) och Procedural Programming är två programmeringsparadigmer. Ett programmeringsparadigm är en grundläggande stil för datorprogrammering, och de skiljer sig åt i hur olika delar av programmet representeras och hur steg för att lösa problem definieras. Som namnet antyder fokuserar OOP på att representera problem med verkliga objekt och deras beteende medan Procedural Programming handlar om att representera lösningar på problem med procedurer, som är kodsamlingar som körs i en specifik ordning. Det finns programmeringsspråk som stöder viktiga aspekter av OOP (kallas OOP-språk), Procedural (kallas Procedurella språk) och båda. Men en viktig sak att notera är att OOP och Procedural är två sätt att representera problem som ska lösas, och det spelar ingen roll vilket språk som används. Med andra ord,OOP-språk kan användas för procedurprogrammering medan procedurspråk ibland kan användas för OOP, med viss ansträngning.
Procedurell programmering är ett sätt att programmera genom att identifiera uppsättningen steg för att lösa ett visst problem och den exakta ordningen att de ska utföras för att nå önskat resultat eller tillstånd. Till exempel, om du vill beräkna utgången i månadsskiftet för ett bankkonto, är de nödvändiga stegen följande. Först får du startsaldot på kontot och sedan minskar du alla debetbelopp som inträffade under månaden. Därefter lägger du till alla kreditbelopp som inträffade under månaden. I slutet av processen får du kontots avslutande månadsslut. Ett av huvudbegreppen för procedurprogrammering är proceduranropet. Ett förfarande som också kallas en subrutin, metod eller en funktion innehåller en ordnad lista med instruktioner som ska utföras. Ett förfarande kan kallas när som helst under utförandet av något annat förfarande eller av sig självt. Exempel på procedurprogrammeringsspråk är C och Pascal.
I OOP är fokus på att tänka på problemet som ska lösas i termer av verkliga element och att representera problemet i termer av objekt och deras beteende. Objekt är en datastruktur som mycket liknar något verkligt objekt. Objekt innehåller datafält och metoder som representerar attribut och beteenden hos verkliga objekt. Det finns flera viktiga OOP-begrepp som dataabstraktion, inkapsling, polymorfism, meddelanden, modularitet och arv. Några populära OOP-språk är Java och C #. De kan dock också användas för att utföra procedurprogrammering.
Huvudskillnaden mellan OOP och procedurell programmering är att fokus för procedurell programmering är att bryta ner programmeringsuppgiften till en samling variabler och underrutiner medan fokus för OOP är att bryta ner programmeringsuppgiften till objekt som inkapslar data och metoder. Den mest anmärkningsvärda skillnaden kan vara att medan procedurprogrammering använder procedurer för att direkt fungera på datastrukturer, kommer OOP att samla data och metoder så att ett objekt kommer att fungera på sina egna data. När det gäller nomenklaturen kallas procedur, modul, proceduranrop och variabel i Procedural Programming ofta som metod, objekt, meddelande och attribut i OOP.