Prolog vs Lisp
Prolog dan Lisp adalah dua bahasa pemrograman komputer AI (Kecerdasan Buatan) yang paling populer saat ini. Mereka dibangun dengan dua paradigma pemrograman yang berbeda. Prolog adalah bahasa deklaratif, sedangkan Lisp adalah bahasa fungsional. Keduanya digunakan untuk berbagai masalah AI tetapi Prolog paling banyak digunakan untuk masalah logika dan penalaran, sedangkan Lisp digunakan untuk masalah dengan kebutuhan prototipe cepat.
Prolog
Prolog adalah bahasa pemrograman AI. Itu milik keluarga bahasa pemrograman logika. Prolog adalah bahasa deklaratif, di mana perhitungan dilakukan dengan menjalankan kueri melalui hubungan (yang mewakili logika program), yang didefinisikan sebagai aturan dan fakta. Dikembangkan pada tahun 1970, prolog adalah salah satu bahasa pemrograman logika tertua dan salah satu bahasa pemrograman AI paling populer saat ini (bersama dengan Lisp). Ini adalah bahasa gratis, tetapi banyak varian komersial tersedia. Ini pertama kali digunakan untuk pemrosesan bahasa alami, tetapi sekarang telah digunakan untuk berbagai tugas seperti sistem pakar, sistem penjawab otomatis, permainan, dan sistem kontrol lanjutan. Prolog hanya memiliki satu tipe data yang disebut istilah. Istilah dapat berupa atom, bilangan, variabel, atau istilah majemuk. Angka dapat berupa float atau integer. Prolog mendukung daftar dan string sebagai kumpulan item. Prolog mendefinisikan hubungan menggunakan klausa. Klausa dapat berupa aturan atau fakta. Prolog memungkinkan iterasi melalui predikat rekursifnya.
Lisp
Lisp adalah keluarga bahasa pemrograman komputer. Dan dialek Lisp paling terkenal yang digunakan untuk pemrograman tujuan umum saat ini adalah Common Lisp dan Skema. Nama LISP berasal dari "LISt Processing" dan seperti yang ditunjukkan, struktur data utama LISP adalah daftar tertaut. Sebenarnya seluruh sumber ditulis menggunakan daftar (menggunakan notasi awalan), atau lebih tepatnya daftar yang diberi tanda kurung (disebut ekspresi-s). Misalnya, pemanggilan fungsi ditulis sebagai (f a1 a2 a3), yang berarti fungsi f dipanggil menggunakan a1, a2 dan a3 sebagai argumen input untuk fungsi tersebut. Oleh karena itu disebut bahasa berorientasi ekspresi, di mana semua data dan kode ditulis sebagai ekspresi (tidak ada perbedaan antara ekspresi dan pernyataan dalam Lisp). Fitur bagus ini sangat istimewa untuk Lisp, di mana ia dapat digunakan untuk memperluas bahasa ke masalah yang dihadapi dengan menulis makro yang bermanfaat. Meskipun rekursi ekor digunakan oleh programmer untuk mengekspresikan loop, semua dialek Lisp yang sering terlihat menyertakan struktur kontrol seperti loop. Selanjutnya, Common Lisp dan skema memiliki mapcar dan map yang merupakan contoh fungsi, yang menyediakan fungsionalitas perulangan dengan menerapkan fungsi secara berurutan ke semua elemennya dan kemudian mengumpulkan hasilnya ke dalam daftar.
Apa perbedaan antara Prolog dan Lisp?
Meskipun, Prolog dan Lisp adalah dua bahasa pemrograman AI yang paling populer, mereka memiliki berbagai perbedaan. Lisp adalah bahasa fungsional, sedangkan Prolog adalah bahasa pemrograman logika dan deklaratif. Lisp sangat fleksibel karena prototyping dan fitur makronya yang cepat, sehingga memungkinkan perluasan bahasa agar sesuai dengan masalah yang dihadapi. Di bidang AI, grafik dan antarmuka pengguna, Lisp telah digunakan secara luas karena kemampuan prototyping yang cepat ini. Namun, karena kemampuan pemrograman logika bawaannya, Prolog sangat ideal untuk masalah AI dengan penalaran simbolis, basis data, dan aplikasi penguraian bahasa. Pilihan satu dari yang lain sepenuhnya tergantung pada jenis masalah AI yang perlu dipecahkan.