Prolog lwn Lisp
Prolog dan Lisp ialah dua bahasa pengaturcaraan komputer AI (Kecerdasan Buatan) yang paling popular hari ini. Mereka dibina dengan dua paradigma pengaturcaraan yang berbeza. Prolog ialah bahasa deklaratif, manakala Lisp ialah bahasa berfungsi. Kedua-duanya digunakan untuk pelbagai masalah AI tetapi Prolog digunakan paling banyak untuk masalah logik dan penaakulan, manakala Lisp digunakan untuk masalah dengan keperluan prototaip pantas.
Prolog
Prolog ialah bahasa pengaturcaraan AI. Ia tergolong dalam keluarga bahasa pengaturcaraan logik. Prolog ialah bahasa perisytiharan, di mana pengiraan dijalankan dengan menjalankan pertanyaan ke atas hubungan (yang mewakili logik program), yang ditakrifkan sebagai peraturan dan fakta. Dibangunkan pada tahun 1970, prolog ialah salah satu bahasa pengaturcaraan logik tertua dan salah satu bahasa pengaturcaraan AI yang paling popular hari ini (bersama dengan Lisp). Ia adalah bahasa percuma, tetapi banyak varian komersial tersedia. Ia mula-mula digunakan untuk pemprosesan bahasa semula jadi, tetapi kini ia digunakan untuk pelbagai tugas seperti sistem pakar, sistem jawapan automatik, permainan dan sistem kawalan lanjutan. Prolog hanya mempunyai satu jenis data yang dipanggil istilah. Istilah boleh menjadi atom, nombor, pembolehubah atau istilah majmuk. Nombor boleh terapung atau integer. Prolog menyokong senarai dan rentetan sebagai koleksi item. Prolog mentakrifkan hubungan menggunakan klausa. Klausa boleh sama ada peraturan atau fakta. Prolog membenarkan lelaran secara menyeluruh predikat rekursifnya.
Lisp
Lisp ialah keluarga bahasa pengaturcaraan komputer. Dan dialek Lisp yang paling terkenal yang digunakan untuk pengaturcaraan tujuan umum hari ini ialah Common Lisp dan Scheme. Nama LISP berasal daripada "Pemprosesan SENARAI" dan seperti yang dibayangkan, struktur data utama Lisp ialah senarai terpaut. Sebenarnya keseluruhan sumber ditulis menggunakan senarai (menggunakan notasi awalan), atau senarai yang dikurung dengan lebih tepat (dipanggil s-ungkapan). Sebagai contoh, panggilan fungsi ditulis sebagai (f a1 a2 a3), yang bermaksud fungsi f dipanggil menggunakan a1, a2 dan a3 sebagai argumen input untuk fungsi tersebut. Oleh itu ia dipanggil bahasa berorientasikan ekspresi, di mana semua data dan kod ditulis sebagai ungkapan (tidak ada perbezaan antara ungkapan dan pernyataan dalam Lisp). Ciri bagus ini sangat istimewa untuk Lisp, di mana ia boleh digunakan untuk melanjutkan bahasa kepada masalah yang dihadapi dengan menulis makro yang berguna. Walaupun rekursi ekor digunakan oleh pengaturcara untuk menyatakan gelung, semua dialek Lisp yang kerap dilihat termasuk struktur kawalan seperti gelung. Tambahan pula, Common Lisp dan skema mempunyai mapcar dan peta yang merupakan contoh fungsi, yang menyediakan kefungsian gelung dengan menggunakan fungsi tersebut secara berturut-turut pada semua elemennya dan kemudian mengumpulkan hasilnya ke dalam senarai.
Apakah perbezaan antara Prolog dan Lisp?
Walaupun, Prolog dan Lisp ialah dua bahasa pengaturcaraan AI yang paling popular, ia mempunyai pelbagai perbezaan. Lisp ialah bahasa berfungsi, manakala Prolog ialah pengaturcaraan logik dan bahasa pengisytiharan. Lisp sangat fleksibel kerana ciri prototaip dan makronya yang pantas, jadi ia sebenarnya membenarkan pelanjutan bahasa untuk disesuaikan dengan masalah yang dihadapi. Dalam bidang AI, grafik dan antara muka pengguna, Lisp telah digunakan secara meluas kerana keupayaan prototaip yang pantas ini. Walau bagaimanapun, disebabkan kebolehan pengaturcaraan logik terbinanya, Prolog sesuai untuk masalah AI dengan penaakulan simbolik, pangkalan data dan aplikasi penghuraian bahasa. Pilihan satu daripada yang lain bergantung sepenuhnya pada jenis masalah AI yang perlu diselesaikan.