Kohdeohjattu ohjelmointi vs. menettelytapojen ohjelmointi
Kohdekeskeinen ohjelmointi (OOP) ja menettelytapojen ohjelmointi ovat kaksi ohjelmointiparadigmaa. Ohjelmointiparadigma on tietokoneohjelmoinnin perusmalli, ja ne eroavat toisistaan siinä, miten ohjelman eri elementit esitetään ja kuinka ongelmien ratkaisemisen vaiheet määritellään. Kuten nimestä voi päätellä, OOP keskittyy ongelmien esittämiseen reaalimaailman esineiden ja niiden käyttäytymisen avulla, kun taas Procedural Programming käsittelee ongelmien ratkaisujen esittämistä käyttämällä menettelyjä, jotka ovat koodikokoelmia, jotka toimivat tietyssä järjestyksessä. On olemassa ohjelmointikieliä, jotka tukevat OOP: n (kutsutut OOP-kielet), menettelytapojen (kutsutaan menettelykielet) ja molempien keskeisiä puolia. Mutta yksi tärkeä asia on huomata, että OOP ja Procedural ovat kaksi tapaa edustaa ratkaistavia ongelmia, eikä sillä ole väliä mitä kieltä käytetään. Toisin sanoen,OOP-kieliä voidaan käyttää menettelyjen ohjelmoinnissa, kun taas menettelykieliä voidaan joskus käyttää OOP: ssa, vaivalla.
Proseduurinen ohjelmointi on tapa ohjelmoida tunnistamalla vaiheet tietyn ongelman ratkaisemiseksi ja tarkka järjestys, joka ne tulisi suorittaa halutun lopputuloksen tai tilan saavuttamiseksi. Jos esimerkiksi haluat laskea pankkitilin kuukauden lopun saldon, vaaditut vaiheet ovat seuraavat. Ensin hankit tilin alkusaldon ja vähennät sitten kaikki kuukauden aikana syntyneet veloitusmäärät. Tämän jälkeen lisäät kaikki kuussa tapahtuneet luottosummat. Prosessin lopussa saat tilin kuukauden lopun saldon. Yksi menettelytavan ohjelmoinnin pääkäsitteistä on menettelypuhelu. Menetelmä, joka tunnetaan myös nimellä aliohjelma, menetelmä tai toiminto, sisältää järjestetyn luettelon suoritettavista ohjeista. Menettely voidaan kutsua milloin tahansa suorituksen aikana millä tahansa muulla menettelyllä tai itse. Esimerkkejä menettelytapojen ohjelmointikielistä ovat C ja Pascal.
OOP: ssa keskitytään ratkaistavan ongelman miettimiseen reaalimaailman elementteinä ja ongelman esittämiseen esineiden ja niiden käyttäytymisen suhteen. Object on tietorakenne, joka muistuttaa läheisesti jotakin reaalimaailman kohdetta. Objektit sisältävät tietokenttiä ja menetelmiä, jotka edustavat tosielämän objektien ominaisuuksia ja käyttäytymistä. On olemassa useita tärkeitä OOP-käsitteitä, kuten tiedonotto, kapselointi, polymorfismi, viestit, modulaarisuus ja perintö. Joitakin suosittuja OOP-kieliä ovat Java ja C #. Niitä voidaan kuitenkin käyttää myös menettelytapojen ohjelmointiin.
Tärkein ero OOP: n ja menettelytavan ohjelmoinnin välillä on se, että menettelytavan ohjelmoinnin painopiste on jakaa ohjelmointitehtävä muuttujien ja aliohjelmien kokoelmaan, kun taas OOP: n painopiste on jakaa ohjelmointitehtävä kohteisiin, jotka kapseloivat tietoja ja menetelmät. Merkittävin ero voisi olla se, että vaikka menettelytapojen ohjelmointi käyttää menettelyjä suoraan toimimaan tietorakenteilla, OOP niputtaa tiedot ja menetelmät yhteen niin, että objekti toimii omilla tiedoillaan. Kun kyse on nimikkeistöstä, menettelytapaan, moduuliin, menettelykutsuun ja muuttujaan kutsutaan menettelytapaohjelmoinnissa usein menetelmää, objektia, viestiä ja määritettä OOP: ssa.