Perbedaan antara Prolog dan Lisp

Perbedaan antara Prolog dan Lisp

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, sementara 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 pertanyaan atas 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 ahli, sistem penjawab otomatis, permainan dan sistem kontrol lanjutan. Prolog hanya memiliki satu tipe data yang disebut istilah. Istilah bisa berupa atom, angka, variabel atau istilah senyawa. Angka bisa mengapung atau bilangan bulat. Prolog mendukung daftar dan string sebagai kumpulan item. Prolog mendefinisikan hubungan menggunakan klausa. Klausul bisa berupa aturan atau fakta. Prolog memungkinkan iterasi menyeluruh predikat rekursifnya.

Pelat

Lisp adalah keluarga bahasa pemrograman komputer. Dan dialek Lisp paling terkenal yang digunakan untuk pemrograman tujuan umum saat ini adalah LISP dan skema umum. Nama Lisp berasal dari "Daftar Pemrosesan" dan karena mengisyaratkan, struktur data utama Lisp adalah daftar yang ditautkan. Faktanya seluruh sumber ditulis menggunakan daftar (menggunakan notasi awalan), atau lebih tepatnya daftar tanda kurung (disebut S-Expressions). Misalnya, panggilan 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 yang bagus ini sangat istimewa untuk Lisp, di mana 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 mencakup struktur kontrol seperti loop. Selain itu, LISP dan skema umum memiliki MapCar dan MAP yang merupakan contoh fungsi, yang memberikan fungsionalitas perulangan dengan menerapkan fungsi secara berturut -turut 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 pemrograman logika dan bahasa deklaratif. Lisp sangat fleksibel karena prototipe cepat dan fitur makro, jadi sebenarnya memungkinkan memperluas bahasa yang sesuai dengan masalah yang ada. 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, database dan aplikasi penguraian bahasa. Pilihan satu di atas yang lain sepenuhnya tergantung pada jenis masalah AI yang perlu diselesaikan.