Kohteeseen suuntautunut ohjelmointi vs. proseduuriohjelmointi
Object Oriented Programming (OOP) ja proseduuriohjelmointi ovat kaksi ohjelmointiparadigmaa. Ohjelmoint paradigma on tietokoneohjelmoinnin perustyyli, ja ne eroavat toisistaan siinä, miten ohjelman eri elementit esitetään ja kuinka ongelmien ratkaisuvaiheet määritellään. Kuten nimestä voi päätellä, OOP keskittyy edustamaan ongelmia reaalimaailman kohteiden ja niiden käyttäytymisen avulla, kun taas Menettelyohjelmointi käsittelee ongelmien ratkaisuja menettelyjen avulla, jotka ovat tietyssä järjestyksessä kulkevia koodikokoelmia. On olemassa ohjelmointikieliä, jotka tukevat OOP: n (kutsutaan OOP-kielet), proseduurin (kutsutaan proseduurikielet) ja molempien keskeisiä näkökohtia. Mutta yksi tärkeä asia on huomata, että OOP ja Menettelytapa ovat kaksi tapaa esittää ratkaistavia ongelmia, ja sillä ei ole väliä mitä kieltä käytetään. Toisin sanoen OOP-kieliä voidaan käyttää menettelytapojen ohjelmointiin, kun taas proseduurikieliä voidaan joskus käyttää OOP-ohjelmiin, joillakin ponnisteluilla.
Proseduuriohjelmointi on tapa ohjelmoida tunnistamalla tietyn ongelman ratkaisemisvaiheet ja tarkka järjestys, jolla ne suoritetaan halutun lopputuloksen tai tilan saavuttamiseksi. Esimerkiksi, jos haluat laskea pankkitilin kuukauden lopun saldo, vaadittavat vaiheet olisivat seuraavat. Ensin hankkit tilin alkusaldon ja vähennät sitten kaikkia kuukauden aikana syntyneitä velkasummia. Sen jälkeen lisäät kaikki kuukauden aikana syntyneet luoton määrät. Prosessin lopussa saat tilin loppusaldo kuukauden lopussa. Yksi menettelytapojen ohjelmoinnin pääkäsitteistä on menettelypyyntö. Menetelmä, joka tunnetaan myös nimellä aliohjelma, menetelmä tai funktio, sisältää tilatun luettelon suoritettavista ohjeista. Menetelmä voidaan kutsua milloin tahansa suorituksen aikana millä tahansa muulla menettelyllä tai itse. Esimerkkejä menettelytavan ohjelmointikieleistä ovat C ja Pascal.
OOP-toiminnassa keskitytään ratkaisemaan ratkaistava ongelma tosielämän elementteinä ja edustamaan ongelmaa esineiden ja niiden käyttäytymisen suhteen. Objekti on tietorakenne, joka muistuttaa läheisesti jotakin reaalimaailman objektia. Objektit sisältävät tietokentät ja menetelmät, jotka edustavat reaalimaailman objektien ominaisuuksia ja käyttäytymistä. On olemassa useita tärkeitä OOP-käsitteitä, kuten tietojen abstraktio, kapselointi, polymorfismi, viestit, modulaarisuus ja periytyminen. Jotkut suositut OOP-kielet ovat Java ja C #. Niitä voidaan kuitenkin käyttää myös proseduuriohjelmoinnin suorittamiseen.
Keskeinen ero OOP: n ja proseduuriohjelmoinnin välillä on se, että menettelytavan ohjelmoinnin painopiste on jakaa ohjelmointitehtävä muuttujien ja aliohjelmien kokoelmaan, kun taas OOP: n painopiste on ohjelmointitehtävän jakaminen kohteisiin, jotka kapseloivat dataa ja menetelmät. Merkittävin ero voisi olla se, että vaikka proseduuriohjelmointi käyttää proseduureja suoraan toimimiseen tietorakenteissa, OOP niputtaa tiedot ja menetelmät yhteen siten, että objekti toimii omilla tiedoillaan. Kun kyse on nimikkeistöstä, proseduurista, moduulista, proseduuripuhelusta ja muuttujasta proseduuriohjelmoinnissa viitataan OOP: ssa usein menetelmäksi, objektiin, sanomaksi ja määritteeksi, vastaavasti.