Pengaturcaraan Berorientasikan Objek lwn Pengaturcaraan Prosedur
Pengaturcaraan Berorientasikan Objek (OOP) dan Pengaturcaraan Prosedur ialah dua paradigma pengaturcaraan. Paradigma pengaturcaraan ialah gaya asas pengaturcaraan komputer, dan ia berbeza dalam cara elemen program yang berbeza diwakili dan cara langkah untuk menyelesaikan masalah ditakrifkan. Seperti namanya, OOP memfokuskan pada mewakili masalah menggunakan objek dunia sebenar dan kelakuannya manakala, Pengaturcaraan Prosedur berurusan dengan mewakili penyelesaian kepada masalah menggunakan prosedur, yang merupakan koleksi kod yang dijalankan dalam susunan tertentu. Terdapat bahasa pengaturcaraan yang menyokong aspek utama OOP (dipanggil bahasa OOP), Procedural (dipanggil bahasa Procedural) dan kedua-duanya. Tetapi satu perkara penting yang perlu diberi perhatian ialah OOP dan Prosedur ialah dua cara untuk mewakili masalah untuk diselesaikan, dan tidak kira bahasa mana yang digunakan. Dalam erti kata lain, bahasa OOP boleh digunakan untuk Pengaturcaraan Prosedur manakala bahasa Prosedur kadangkala boleh digunakan untuk OOP, dengan sedikit usaha.
Pengaturcaraan Prosedur ialah satu cara pengaturcaraan dengan mengenal pasti set langkah untuk menyelesaikan masalah tertentu dan susunan yang tepat bahawa ia harus dilaksanakan untuk mencapai hasil atau keadaan yang diinginkan. Sebagai contoh, jika anda ingin mengira baki penutup akhir bulan untuk akaun bank, maka langkah yang diperlukan adalah seperti berikut. Mula-mula, anda memperoleh baki permulaan akaun dan kemudian anda mengurangkan semua jumlah debit yang berlaku pada bulan tersebut. Selepas itu, anda menambah semua jumlah kredit yang berlaku pada bulan tersebut. Pada penghujung proses, anda akan mendapat baki penutupan akhir bulan akaun. Salah satu konsep utama Pengaturcaraan Prosedur ialah panggilan Prosedur. Prosedur yang juga dikenali sebagai subrutin, kaedah atau fungsi mengandungi senarai arahan yang tersusun untuk dijalankan. Prosedur boleh dipanggil pada bila-bila masa semasa pelaksanaan oleh mana-mana prosedur lain atau dengan sendirinya. Contoh bahasa pengaturcaraan Prosedur ialah C dan Pascal.
Dalam OOP, tumpuan adalah untuk memikirkan masalah yang perlu diselesaikan dari segi elemen dunia sebenar dan mewakili masalah dari segi objek dan tingkah lakunya. Objek ialah struktur data yang hampir menyerupai beberapa objek dunia sebenar. Objek mengandungi medan data dan kaedah yang mewakili atribut dan tingkah laku objek dunia sebenar. Terdapat beberapa konsep OOP penting seperti Abstraksi data, Enkapsulasi, Polimorfisme, Mesej, Modulariti dan Warisan. Beberapa bahasa OOP yang popular ialah Java dan C. Walau bagaimanapun, ia boleh digunakan untuk melaksanakan Pengaturcaraan Prosedur juga.
Perbezaan utama antara OOP dan Pengaturcaraan Prosedur ialah fokus Pengaturcaraan Prosedur adalah untuk memecahkan tugas pengaturcaraan ke dalam koleksi pembolehubah dan subrutin manakala, fokus OOP adalah untuk memecahkan tugas pengaturcaraan menjadi objek, yang merangkum data dan kaedah. Perbezaan yang paling ketara ialah semasa Pengaturcaraan Prosedur menggunakan prosedur untuk beroperasi secara langsung pada struktur data, OOP akan menggabungkan data dan kaedah bersama-sama supaya objek akan beroperasi pada datanya sendiri. Apabila bercakap mengenai tatanama, prosedur, modul, panggilan prosedur dan pembolehubah dalam Pengaturcaraan Prosedur sering dirujuk sebagai kaedah, objek, mesej dan atribut dalam OOP, masing-masing.