Perbedaan Antara Prolog dan Lisp

Prolog vs Lisp

Prolog dan Lisp adalah dua bahasa pemrograman komputer AI (Kecerdasan Buatan) 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, sementara Lisp digunakan untuk masalah dengan kebutuhan prototyping cepat.

Prolog

Prolog adalah bahasa pemrograman AI. Itu milik keluarga bahasa pemrograman logika. Prolog adalah bahasa deklaratif, di mana perhitungan dilakukan dengan menjalankan kueri atas relasi (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. Suatu istilah dapat berupa atom, angka, variabel atau istilah gabungan. Angka bisa mengambang atau bilangan bulat. Prolog mendukung daftar dan string sebagai koleksi item. Prolog mendefinisikan hubungan menggunakan klausa. Klausa dapat berupa aturan atau fakta. Prolog memungkinkan iterasi melalui predikat rekursifnya.

Pelat

Lisp adalah keluarga bahasa pemrograman komputer. Dan dialek Lisp paling terkenal yang digunakan untuk pemrograman tujuan umum saat ini adalah Common Lisp dan Scheme. Nama LISP berasal dari "LISt Processing" dan karena itu mengisyaratkan, struktur data utama Lisp adalah daftar tertaut. Faktanya seluruh sumber ditulis menggunakan daftar (menggunakan notasi awalan), atau daftar dengan tanda kurung yang lebih tepat (disebut s-expressions). Misalnya, pemanggilan fungsi ditulis sebagai (f a1 a2 a3), yang berarti fungsi f disebut 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 bagi Lisp, di mana ia dapat digunakan untuk memperluas bahasa ke masalah yang ada dengan menulis makro yang bermanfaat. Meskipun rekursi ekor digunakan oleh programmer untuk mengekspresikan loop, semua dialek Lisp yang sering dilihat menyertakan struktur kontrol seperti loop. Selain itu, Common Lisp dan skema memiliki mapcar dan peta yang merupakan contoh fungsi, yang menyediakan fungsionalitas perulangan dengan menerapkan fungsi secara berturut-turut ke semua elemennya dan kemudian mengumpulkan hasilnya 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, sementara Prolog adalah pemrograman logika dan bahasa deklaratif. Lisp sangat fleksibel karena fitur prototyping dan makro yang cepat, sehingga sebenarnya 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 inbuilt-nya, Prolog sangat ideal untuk masalah AI dengan penalaran simbolis, basis data dan aplikasi penguraian bahasa. Pilihan satu di atas yang lain sepenuhnya tergantung pada jenis masalah AI yang perlu diselesaikan.