Untuk seorang pemula, bagaimana Anda akan menjelaskan perbedaan antara pemrograman berorientasi objek, fungsional, dan prosedural?


Jawaban 1:

Semua pemrograman adalah pemecahan masalah. Perbedaannya terletak pada bagaimana Anda menyerang masalah.

Pemrograman imperatif memperlakukan kode sumber seperti dekrit pemberi tugas. Setiap langkah dari program ini seperti perintah dari atas ke komputer: lakukan ini. Cetak itu. Pindahkan itu ke sana. Ini seperti mengikuti daftar belanjaan. Unit dasar dalam pemrograman imperatif adalah variabel, nilai (seperti angka atau string teks) yang dapat berubah seiring waktu.

Pemrograman berorientasi objek adalah upaya untuk menyusun kode imperatif. Itu membuat model dari berbagai konsep di area masalah dan menerapkannya. Model-model ini ("objek") diberikan fungsionalitas ("metode") yang memungkinkan mereka untuk melakukan berbagai tindakan, dan setiap objek juga dapat menyimpan informasi. Unit dasar dalam OOP adalah objek, yang dapat dengan sendirinya berisi objek lebih jauh, sedikit mirip boneka Matryoshka Rusia. Idenya adalah untuk memudahkan programmer manusia untuk memvisualisasikan program dengan mengikat program pada hal-hal konkret, yang memungkinkan Anda mengelompokkan berbagai hal secara logis.

Pemrograman fungsional memperlakukan bidang masalah sebagai rantai persamaan ("fungsi") yang dirangkai, suatu perkembangan definisi yang mengarah pada jawaban. Informasi dimulai sebagai sejumlah aksioma dan berujung pada jawabannya (anggap sebagai argumen logis yang berakhir dengan apa yang Anda lihat di layar). Pemrograman fungsional meminjam banyak konsep dari matematika formal, dan seperti dalam matematika (dan tidak seperti pemrograman Imperatif atau OOP), biasanya tidak menyimpan data di antara langkah-langkah. Unit dasar dalam pemrograman fungsional adalah fungsi, yang dapat melakukan operasi serta menghasilkan fungsi lebih lanjut.

Ketiga paradigma pemrograman (dan lainnya di luar cakupan jawaban ini) semuanya memungkinkan Anda mengirim data bolak-balik. Perbedaannya terletak pada apa yang Anda kirim. Pemrograman Imperatif dan Berorientasi Objek mengirim data dalam bentuk variabel atau objek ("Inilah faktur yang Anda minta, gunakan sesuai keinginan Anda.") Program fungsional meneruskan fungsi bolak-balik ("Seandainya Anda memiliki segitiga (oleh definisi ini) dengan sudut-sudut ini dan ukuran itu ... ") dan mengundang penerima untuk menambahkan bagian selanjutnya dari argumen.

Singkatnya, paradigma ini adalah cara berbeda dalam memandang hal yang sama.

(Terima kasih kepada Pratik Mehta untuk masukannya.)


Jawaban 2:
  • Pemrograman berorientasi objek menyimpan semua data dan logika pemrogramannya dalam objek. Objek didefinisikan sebagai data dan logika pemrograman yang digabungkan menjadi satu dalam paket yang bagus dan rapi. Pemrograman prosedural mengubah data melalui serangkaian rutinitas (juga dikenal sebagai prosedur). Rutinitas ini tidak perlu dikelompokkan menjadi suatu objek. Pemrograman fungsional menghitung data baru melalui penggunaan fungsi. Setelah data diberi nilai, itu tidak dapat diubah (properti yang dikenal sebagai kekekalan).

x = x + 1


Jawaban 3:
  • Pemrograman berorientasi objek menyimpan semua data dan logika pemrogramannya dalam objek. Objek didefinisikan sebagai data dan logika pemrograman yang digabungkan menjadi satu dalam paket yang bagus dan rapi. Pemrograman prosedural mengubah data melalui serangkaian rutinitas (juga dikenal sebagai prosedur). Rutinitas ini tidak perlu dikelompokkan menjadi suatu objek. Pemrograman fungsional menghitung data baru melalui penggunaan fungsi. Setelah data diberi nilai, itu tidak dapat diubah (properti yang dikenal sebagai kekekalan).

x = x + 1


Jawaban 4:
  • Pemrograman berorientasi objek menyimpan semua data dan logika pemrogramannya dalam objek. Objek didefinisikan sebagai data dan logika pemrograman yang digabungkan menjadi satu dalam paket yang bagus dan rapi. Pemrograman prosedural mengubah data melalui serangkaian rutinitas (juga dikenal sebagai prosedur). Rutinitas ini tidak perlu dikelompokkan menjadi suatu objek. Pemrograman fungsional menghitung data baru melalui penggunaan fungsi. Setelah data diberi nilai, itu tidak dapat diubah (properti yang dikenal sebagai kekekalan).

x = x + 1