Objektno usmerjeno programiranje proti procesnemu programiranju
Objektno orientirano programiranje (OOP) in procesno programiranje sta dve programski paradigmi. Programska paradigma je temeljni slog računalniškega programiranja in se razlikujejo v načinu predstavitve različnih elementov programa in kako so določeni 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 za težave s postopki, ki so zbirke kode, ki tečejo v določenem zaporedju. Obstajajo programski jeziki, ki podpirajo ključne vidike OOP (imenovani OOP jeziki), Procedural (imenovani Proceduralni jeziki) in oboje. Pomembno pa je omeniti, da sta OOP in Procedural dva načina predstavljanja težav, ki jih je treba rešiti, in ni pomembno, kateri jezik se uporablja. Z drugimi besedami, jeziki OOP se lahko uporabljajo za postopkovno programiranje, medtem ko se postopkovni jeziki včasih uporabljajo za OOP, z nekaj truda.
Proceduralno programiranje je način programiranja tako, da določimo niz korakov za rešitev določene težave in natančen vrstni red, da jih je treba izvesti, da dosežemo želeni rezultat ali stanje. Če želite na primer izračunati končno stanje na koncu meseca za bančni račun, bi bili naslednji koraki naslednji. Najprej pridobite začetno stanje na računu in nato zmanjšate vse zneske obremenitve, ki so se zgodili v mesecu. Po tem dodate vse zneske kredita, ki so se zgodili v mesecu. Na koncu postopka dobite zaključni saldo računa konec meseca. Eden glavnih konceptov postopkovnega programiranja je razpis postopka. Postopek, znan tudi kot podprogram, metoda ali funkcija, vsebuje urejen seznam navodil, ki jih je treba izvesti. Postopek lahko kadar koli med izvedbo pokliče kateri koli drug postopek ali sam. Primera postopkovnih programskih jezikov sta C in Pascal.
V OOP je poudarek na razmišljanju o problemu, ki ga je treba rešiti z elementi iz resničnega sveta, in predstavljanju problema v smislu predmetov in njihovega vedenja. Objekt je struktura podatkov, ki zelo spominja na kakšen predmet iz resničnega sveta. Predmeti vsebujejo podatkovna polja in metode, ki predstavljajo atribute in vedenje predmetov iz resničnega sveta. Obstaja več pomembnih konceptov OOP, kot so abstrakcija podatkov, enkapsulacija, polimorfizem, sporočanje sporočil, modularnost in dedovanje. Nekateri priljubljeni jeziki OOP so Java in C #. Vendar pa jih je mogoče uporabiti tudi za izvajanje postopkovnega programiranja.
Ključna razlika med OOP in Proceduralnim programiranjem je v tem, da je postopek Proceduralnega programiranja razčleniti programsko nalogo na zbirko spremenljivk in podprogramov, medtem ko je fokus OOP razčleniti programsko nalogo na objekte, ki obkrožijo podatke in metode. Najpomembnejša razlika je lahko ta, da medtem ko postopkovno programiranje uporablja postopke za neposredno delovanje na podatkovnih strukturah, bo OOP združeval podatke in metode skupaj, tako da bo objekt deloval na lastnih podatkih. Kadar gre za nomenklaturo, se postopek, modul, klic postopka in spremenljivka v Proceduralnem programiranju v OOP pogosto imenujejo metoda, predmet, sporočilo in atribut..