Objektinis programavimas prieš procedūrinį programavimą
Objektinis programavimas (OOP) ir procedūrinis programavimas yra dvi programavimo paradigmos. Programavimo paradigma yra pagrindinis kompiuterio programavimo stilius, kuris skiriasi tuo, kaip skirtingi programos elementai pateikiami ir kaip apibrėžiami problemų sprendimo žingsniai. Kaip rodo pavadinimas, OOP daugiausia dėmesio skiria problemų vaizdavimui naudojant realaus pasaulio objektus ir jų elgesį, o procedūrinis programavimas nagrinėja problemų sprendimų pateikimą naudojant procedūras, kurios yra tam tikra tvarka vykdomų kodų rinkiniai. Yra programavimo kalbų, kurios palaiko pagrindinius OOP aspektus (vadinamas OOP kalbomis), procedūrines (vadinamas procedūrinėmis kalbomis) ir abu. Tačiau vienas svarbus dalykas, į kurį reikia atkreipti dėmesį, yra tai, kad OOP ir Procedural yra du būdai, kaip pateikti problemas, kurias reikia išspręsti, ir nesvarbu, kokia kalba naudojama. Kitaip tariant, OOP kalbos gali būti naudojamos procedūriniam programavimui, o procedūrų kalbos kartais gali būti naudojamos OOP su tam tikromis pastangomis.
Procedūrinis programavimas – tai programavimo būdas, kai nustatomas tam tikros problemos sprendimo veiksmų rinkinys ir tiksli jų vykdymo tvarka, kad būtų pasiektas norimas rezultatas ar būsena. Pavyzdžiui, jei norite apskaičiuoti banko sąskaitos mėnesio pabaigos galutinį likutį, reikalingi veiksmai būtų tokie. Pirmiausia įgyjate pradinį sąskaitos likutį ir sumažinate visas per mėnesį susidariusias debeto sumas. Po to pridedate visas kredito sumas, gautas per mėnesį. Proceso pabaigoje gausite sąskaitos mėnesio pabaigos galutinį likutį. Viena iš pagrindinių procedūrinio programavimo sąvokų yra procedūrų iškvietimas. Procedūra, taip pat žinoma kaip paprogramė, metodas arba funkcija, turi sutvarkytą instrukcijų, kurias reikia atlikti, sąrašą. Procedūra gali būti iššaukta bet kuriuo metu vykdymo metu bet kuria kita procedūra arba savaime. Procedūrinių programavimo kalbų pavyzdžiai yra C ir Pascal.
OOP pagrindinis dėmesys skiriamas problemos, kurią reikia išspręsti, mąstymui, atsižvelgiant į realaus pasaulio elementus, ir problemos vaizdavimui pagal objektus ir jų elgesį. Objektas yra duomenų struktūra, labai panaši į realaus pasaulio objektą. Objektuose yra duomenų laukų ir metodų, kurie atspindi realaus pasaulio objektų atributus ir elgesį. Yra keletas svarbių OOP sąvokų, tokių kaip duomenų abstrakcija, inkapsuliavimas, polimorfizmas, pranešimų siuntimas, moduliškumas ir paveldėjimas. Kai kurios populiarios OOP kalbos yra Java ir C. Tačiau jie taip pat gali būti naudojami procedūriniam programavimui atlikti.
Pagrindinis skirtumas tarp OOP ir procedūrinio programavimo yra tas, kad procedūrinio programavimo tikslas yra suskaidyti programavimo užduotį į kintamųjų ir paprogramių rinkinį, o OOP tikslas yra suskaidyti programavimo užduotį į objektai, apimantys duomenis ir metodus. Ryškiausias skirtumas gali būti tas, kad nors procedūrinis programavimas naudoja procedūras, skirtas tiesiogiai valdyti duomenų struktūras, OOP sujungs duomenis ir metodus, kad objektas veiktų pagal savo duomenis. Kalbant apie nomenklatūrą, procedūra, modulis, procedūrų iškvietimas ir kintamasis procedūriniame programavime OOP dažnai vadinami atitinkamai metodu, objektu, pranešimu ir atributu.