Objectgeoriënteerd programmeren versus procedureel programmeren
Object Oriented Programming (OOP) en Procedural Programming zijn twee programmeerparadigma's. Een programmeerparadigma is een fundamentele stijl van computerprogrammering en ze verschillen in de manier waarop verschillende elementen van het programma worden weergegeven en hoe stappen voor het oplossen van problemen worden gedefinieerd. Zoals de naam al doet vermoeden, concentreert OOP zich op het weergeven van problemen met het gebruik van objecten uit de echte wereld en hun gedrag, terwijl Procedural Programming zich bezig houdt met het voorstellen van oplossingen voor problemen met procedures, die verzamelingen codes zijn die in een specifieke volgorde worden uitgevoerd. Er zijn programmeertalen die belangrijke aspecten van OOP (OOP-talen), Procedural (Procedural languages) en beide ondersteunen. Maar een belangrijk ding om op te merken is dat OOP en Procedural twee manieren zijn om problemen voor te stellen die moeten worden opgelost, en het maakt niet uit welke taal wordt gebruikt. Met andere woorden, OOP-talen kunnen worden gebruikt voor Procedural Programming, terwijl Procedural-talen soms met enige moeite voor OOP kunnen worden gebruikt.
Procedureel programmeren is een manier van programmeren door de reeks stappen te identificeren om een bepaald probleem op te lossen en de exacte volgorde waarin ze moeten worden uitgevoerd om de gewenste uitkomst of status te bereiken. Als u bijvoorbeeld het einde van de maandafsluiting voor een bankrekening wilt berekenen, zijn de vereiste stappen als volgt. Eerst verwerft u het beginsaldo van het account en verlaagt u vervolgens alle debetbedragen die gedurende de maand zijn opgetreden. Hierna voegt u alle kredietbedragen toe die gedurende de maand zijn opgetreden. Aan het einde van het proces krijgt u het einde van de maandafsluiting van het account. Een van de belangrijkste concepten van Procedural Programming is de procedure-oproep. Een procedure die ook wel een subroutine, methode of functie wordt genoemd, bevat een geordende lijst met uit te voeren instructies. Een procedure kan op elk moment tijdens de uitvoering door een andere procedure of door zichzelf worden opgeroepen. Voorbeelden van procedured programmeertalen zijn C en Pascal.
In OOP ligt de focus op het nadenken over het probleem dat opgelost moet worden in termen van reële elementen en het probleem representeren in termen van objecten en hun gedrag. Object is een gegevensstructuur die sterk lijkt op een object uit de echte wereld. Objecten bevatten gegevensvelden en methoden die kenmerken en gedrag van objecten uit de echte wereld weergeven. Er zijn verschillende belangrijke OOP-concepten zoals Data abstractie, Encapsulation, Polymorphism, Messaging, Modularity and Inheritance. Sommige populaire OOP-talen zijn Java en C #. Ze kunnen echter ook worden gebruikt om Procedural Programming ook uit te voeren.
Het belangrijkste verschil tussen OOP en Procedural Programming is dat de focus van Procedural Programming is om de programmeertaak op te splitsen in een verzameling variabelen en subroutines, terwijl de focus van OOP ligt op het splitsen van de programmeertaak in objecten, die gegevens inkapselen en methoden. Het meest opvallende verschil zou kunnen zijn dat terwijl Procedural Programming procedures gebruikt om direct op datastructuren te werken, OOP de data en methoden samen bundelt, zodat een object op zijn eigen data zal werken. Als het gaat om de nomenclatuur, worden procedure, module, procedureaanroep en variabele in Procedural Programming vaak aangeduid als methode, object, bericht en attribuut in OOP, respectievelijk.