Object Oriented Programming vs Procedural Programming
Ang Object Oriented Programming (OOP) at Procedural Programming ay dalawang paradigm sa programming. Ang isang programming paradigm ay isang pangunahing istilo ng computer programming, at naiiba ang mga ito sa paraan ng pagre-represent ng iba't ibang elemento ng programa at kung paano tinukoy ang mga hakbang para sa paglutas ng mga problema. Gaya ng ipinahihiwatig ng pangalan, nakatuon ang OOP sa pagrepresenta ng mga problema gamit ang mga real-world na bagay at ang kanilang pag-uugali habang, ang Procedural Programming ay tumatalakay sa pagrepresenta ng mga solusyon sa mga problema gamit ang mga procedure, na mga koleksyon ng code na tumatakbo sa isang partikular na pagkakasunud-sunod. May mga programming language na sumusuporta sa mga pangunahing aspeto ng OOP (tinatawag na mga OOP na wika), Procedural (tinatawag na Procedural na mga wika) at pareho. Ngunit isang mahalagang bagay na dapat tandaan ay ang OOP at Procedural ay dalawang paraan ng kumakatawan sa mga problemang lutasin, at hindi mahalaga kung aling wika ang ginagamit. Sa madaling salita, ang mga wikang OOP ay maaaring gamitin para sa Procedural Programming habang ang mga Procedural na wika ay maaaring gamitin minsan para sa OOP, nang may kaunting pagsisikap.
Ang Procedural Programming ay isang paraan ng programming sa pamamagitan ng pagtukoy sa hanay ng mga hakbang upang malutas ang isang partikular na problema at ang eksaktong pagkakasunud-sunod na dapat isagawa ng mga ito upang maabot ang ninanais na resulta o estado. Halimbawa, kung gusto mong kalkulahin ang balanse sa pagtatapos ng buwan para sa isang bank account, ang mga kinakailangang hakbang ay ang mga sumusunod. Una, makukuha mo ang panimulang balanse ng account at pagkatapos ay bawasan mo ang lahat ng halaga ng debit na naganap sa buwan. Pagkatapos noon, idagdag mo ang lahat ng halaga ng kredito na naganap sa buwan. Sa pagtatapos ng proseso, makukuha mo ang balanse sa pagtatapos ng buwan ng account. Isa sa mga pangunahing konsepto ng Procedural Programming ay ang Procedure call. Ang isang pamamaraan na kilala rin bilang isang subroutine, pamamaraan o isang function ay naglalaman ng isang nakaayos na listahan ng mga tagubilin na isasagawa. Ang isang pamamaraan ay maaaring tawagan anumang oras sa panahon ng pagpapatupad sa pamamagitan ng anumang iba pang pamamaraan o sa pamamagitan ng sarili nito. Ang mga halimbawa ng Procedural programming language ay C at Pascal.
Sa OOP, ang focus ay sa pag-iisip tungkol sa problemang lulutasin sa mga tuntunin ng mga real-world na elemento at kumakatawan sa problema sa mga tuntunin ng mga bagay at kanilang pag-uugali. Ang Object ay isang istraktura ng data na malapit na kahawig ng ilang bagay sa totoong mundo. Ang mga bagay ay naglalaman ng mga field ng data at mga pamamaraan na kumakatawan sa mga katangian at pag-uugali ng mga bagay sa totoong mundo. Mayroong ilang mahahalagang konsepto ng OOP tulad ng Data abstraction, Encapsulation, Polymorphism, Messaging, Modularity at Inheritance. Ang ilang sikat na OOP na wika ay Java at C. Gayunpaman, magagamit din ang mga ito para magsagawa rin ng Procedural Programming.
Ang pangunahing pagkakaiba sa pagitan ng OOP at Procedural Programming ay ang pokus ng Procedural Programming ay upang hatiin ang programming task sa isang koleksyon ng mga variable at subroutine habang, ang pokus ng OOP ay upang hatiin ang programming task sa mga bagay, na naglalaman ng data at pamamaraan. Ang pinaka-kapansin-pansing pagkakaiba ay maaaring habang ang Procedural Programming ay gumagamit ng mga pamamaraan upang direktang gumana sa mga istruktura ng data, ang OOP ay magsasama-sama ng data at mga pamamaraan upang ang isang bagay ay gumana sa sarili nitong data. Pagdating sa nomenclature, procedure, module, procedure call at variable sa Procedural Programming ay madalas na tinutukoy bilang method, object, message at attribute sa OOP, ayon sa pagkakabanggit.