Pemrograman Berorientasikan Objek vs Pemrograman Prosedur
Pemrograman Berorientasikan Objek (OOP) dan Pengaturcaraan Prosedur adalah dua paradigma pengaturcaraan. Paradigma pengaturcaraan adalah gaya asas pengaturcaraan komputer, dan mereka berbeza dengan cara elemen-elemen yang berbeza dari program diwakili dan bagaimana langkah-langkah untuk menyelesaikan masalah ditakrifkan. Seperti namanya, OOP menumpukan pada mewakili masalah menggunakan objek dunia sebenar dan tingkah laku mereka sementara, Program Pemrograman 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), Prosedural (dipanggil bahasa Procedural) dan kedua-duanya. Tetapi satu perkara penting untuk diperhatikan adalah bahawa OOP dan Prosedur adalah dua cara untuk mewakili masalah yang perlu diselesaikan, dan tidak kira bahasa mana yang digunakan. Dalam erti kata lain, bahasa OOP boleh digunakan untuk Pemrograman Prosedur sementara bahasa Prosedur kadang-kadang boleh digunakan untuk OOP, dengan beberapa usaha.
Pemrograman Prosedur adalah cara pengaturcaraan dengan mengenal pasti set langkah-langkah untuk menyelesaikan masalah tertentu dan susunan yang tepat yang harus dilaksanakan untuk mencapai hasil atau keadaan yang diinginkan. Contohnya, jika anda ingin mengira baki akhir bulan untuk akaun bank, maka langkah-langkah yang diperlukan adalah seperti berikut. Pertama, 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 akhir proses, anda akan mendapat baki penutupan akaun bulan-akhir. Salah satu konsep utama Pemrograman Prosedur ialah panggilan Prosedur. Prosedur yang juga dikenali sebagai subroutine, kaedah atau fungsi mengandungi senarai perintah yang diperintahkan untuk dijalankan. Prosedur boleh dipanggil pada bila-bila masa semasa pelaksanaan oleh mana-mana prosedur lain atau dengan sendirinya. Contoh Bahasa pengaturcaraan Prosedur adalah C dan Pascal.
Di OOP, tumpuan adalah untuk memikirkan masalah yang akan diselesaikan dari segi unsur-unsur dunia nyata dan mewakili masalah dari segi objek dan tingkah laku mereka. Objek adalah struktur data yang hampir menyerupai objek dunia sebenar. Objek mengandungi medan data dan kaedah yang mewakili atribut dan tingkah laku objek dunia sebenar. Terdapat beberapa konsep OOP yang penting seperti abstraksi Data, Encapsulation, Polymorphism, Messaging, Modularity dan Warisan. Beberapa bahasa OOP yang popular adalah Java dan C #. Walau bagaimanapun, mereka boleh digunakan untuk melaksanakan Program Pemrograman juga.
Perbezaan utama antara OOP dan Program Pemrograman adalah bahawa tumpuan Pemrograman Prosedur adalah untuk memecah tugas pengaturcaraan ke koleksi pembolehubah dan subrutin sementara, tumpuan OOP adalah untuk memecah tugas pengaturcaraan ke objek, yang merangkum data dan kaedah. Perbezaan yang paling ketara ialah ketika Pemrograman Prosedur menggunakan prosedur untuk terus beroperasi pada struktur data, OOP akan menyatukan data dan kaedah bersama-sama supaya suatu objek akan beroperasi pada datanya sendiri. Apabila ia datang kepada tatanama, tatacara, modul, panggilan prosedur dan pembolehubah dalam Pengaturcaraan Prosedur sering dirujuk sebagai kaedah, objek, mesej dan sifat di OOP, masing-masing.