Objektno orientirano programiranje proti proceduralnemu programiranju
Objektno usmerjeno programiranje (OOP) in proceduralno programiranje sta dve paradigmi programiranja. Programska paradigma je temeljni stil računalniškega programiranja in se razlikujejo po tem, kako so predstavljeni različni elementi programa in kako so definirani koraki za reševanje problemov. Kot že ime pove, se OOP osredotoča na predstavljanje problemov z uporabo predmetov iz resničnega sveta in njihovega vedenja, medtem ko se proceduralno programiranje ukvarja s predstavljanjem rešitev problemov z uporabo postopkov, ki so zbirke kode, ki se izvajajo v določenem vrstnem redu. Obstajajo programski jeziki, ki podpirajo ključne vidike OOP (imenovani OOP jeziki), Proceduralni (imenovani Proceduralni jeziki) in oboje. Vendar je treba opozoriti na eno pomembno stvar, da sta OOP in Procedural dva načina za predstavljanje problemov, ki jih je treba rešiti, in ni pomembno, kateri jezik se uporablja. Z drugimi besedami, OOP jezike je mogoče uporabiti za proceduralno programiranje, medtem ko se lahko proceduralni jeziki včasih uporabljajo za OOP, z nekaj truda.
Proceduralno programiranje je način programiranja z identifikacijo nabora korakov za rešitev določenega problema in natančnega vrstnega reda, ki ga je treba izvesti, da se doseže želeni izid ali stanje. Na primer, če želite izračunati končno stanje ob koncu meseca za bančni račun, bi bili zahtevani koraki naslednji. Najprej pridobite začetno stanje na računu, nato pa zmanjšate vse bremenitve, nastale v mesecu. Nato dodate vse zneske kreditov, ki so nastali v mesecu. Na koncu postopka boste prejeli končno stanje računa ob koncu meseca. Eden od glavnih konceptov proceduralnega programiranja je klic postopka. Postopek, znan tudi kot podprogram, metoda ali funkcija, vsebuje urejen seznam navodil, ki jih je treba izvesti. Proceduro lahko prikličete kadar koli med izvajanjem s katero koli drugo proceduro ali samostojno. Primera postopkovnih programskih jezikov sta C in Pascal.
V OOP je poudarek na razmišljanju o problemu, ki ga je treba rešiti, v smislu elementov iz resničnega sveta in predstavljanju problema v smislu predmetov in njihovega vedenja. Objekt je podatkovna struktura, ki je zelo podobna objektu iz resničnega sveta. Objekti vsebujejo podatkovna polja in metode, ki predstavljajo atribute in obnašanje predmetov iz resničnega sveta. Obstaja več pomembnih konceptov OOP, kot so abstrakcija podatkov, enkapsulacija, polimorfizem, sporočanje, modularnost in dedovanje. Nekateri priljubljeni jeziki OOP so Java in C. Vendar jih je mogoče uporabiti tudi za izvajanje postopkovnega programiranja.
Ključna razlika med OOP in proceduralnim programiranjem je, da je fokus proceduralnega programiranja razčleniti programsko nalogo na zbirko spremenljivk in podprogramov, medtem ko je fokus OOP razčleniti programsko nalogo na objekte, ki zajemajo podatke in metode. Najbolj opazna razlika bi lahko bila v tem, da medtem ko proceduralno programiranje uporablja postopke za neposredno delovanje na podatkovnih strukturah, bo OOP združil podatke in metode skupaj, tako da bo objekt deloval na lastnih podatkih. Ko gre za nomenklaturo, se postopek, modul, klic procedure in spremenljivka v proceduralnem programiranju pogosto imenujejo metoda, objekt, sporočilo in atribut v OOP.