Perbezaan antara Prolog dan Lisp

Prolog vs Lisp

Prolog dan Lisp adalah dua bahasa pengaturcaraan AI (Artificial Intelligence) yang paling popular hari ini. Mereka dibina dengan dua paradigma pengaturcaraan yang berlainan. Prolog adalah bahasa deklaratif, sedangkan Lisp adalah bahasa yang berfungsi. Kedua-duanya digunakan untuk pelbagai masalah AI tetapi Prolog digunakan paling untuk masalah logik dan pemikiran, sedangkan Lisp digunakan untuk masalah dengan keperluan prototyping cepat.

Prolog

Prolog adalah bahasa pengaturcaraan AI. Ia tergolong dalam keluarga bahasa pengaturcaraan logik. Prolog adalah bahasa perisytiharan, di mana pengiraan dijalankan melalui pertanyaan yang dijalankan di atas hubungan (yang mewakili logik program), yang ditakrifkan sebagai peraturan dan fakta. Dibangunkan pada tahun 1970, prolog adalah salah satu bahasa pengaturcaraan logik tertua dan salah satu bahasa pengaturcaraan AI yang paling popular hari ini (bersama dengan Lisp). Ia adalah bahasa yang percuma, tetapi banyak variasi komersial boleh didapati. Ia pertama kali digunakan untuk pemprosesan bahasa semula jadi, tetapi kini digunakan untuk pelbagai tugas seperti sistem pakar, sistem menjawab automatik, permainan dan sistem kawalan lanjutan. Prolog hanya mempunyai satu jenis data yang dipanggil istilah ini. Istilah boleh menjadi atom, nombor, pemboleh ubah atau sebutan istilah. Nombor boleh terapung atau bilangan bulat. Prolog menyokong senarai dan rentetan sebagai koleksi item. Prolog mendefinisikan hubungan menggunakan klausa. Fasal boleh menjadi sama ada peraturan atau fakta. Prolog membolehkan lelaran menyeluruh mengenai prediktif rekursif.

Lisp

Lisp adalah keluarga bahasa pengaturcaraan komputer. Dan dialek Lisp yang paling terkenal digunakan untuk pengaturcaraan umum hari ini ialah Common Lisp and Scheme. Nama LISP berasal dari "Pemprosesan LISt" dan sebagai petunjuknya, struktur data utama Lisp adalah senarai hubungan. Sebenarnya keseluruhan sumber ditulis menggunakan senarai (menggunakan notasi awalan), atau lebih banyak senarai kurungan (disebut s-expressions). 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 itu. Oleh itu, ia dipanggil bahasa berorientasikan ekspresi, di mana semua data dan kod ditulis sebagai ungkapan (tidak ada perbezaan antara ekspresi dan kenyataan di Lisp). Ciri bagus ini sangat istimewa untuk Lisp, di mana ia boleh digunakan untuk memperluaskan bahasa kepada masalah yang dihadapi dengan menulis makro berguna. Walaupun rekursi ekor digunakan oleh pengaturcara untuk mengekspresikan gelung, semua kerap dikenali dialek Lisp termasuk struktur kawalan seperti gelung. Selain itu, Common Lisp dan skema mempunyai peta dan peta yang merupakan contoh fungsi, yang menyediakan fungsi gelung dengan menggunakan fungsi berturut-turut kepada semua unsur-unsurnya dan kemudian mengumpul hasil ke dalam senarai.

Apakah perbezaan antara Prolog dan Lisp??

Walaupun, Prolog dan Lisp adalah dua bahasa pengaturcaraan AI yang paling popular, mereka mempunyai pelbagai perbezaan. Lisp adalah bahasa yang berfungsi, sementara Prolog adalah pengaturcaraan logik dan bahasa deklaratif. Lisp sangat fleksibel kerana prototaip cepat dan ciri-ciri makro, sehingga ia benar-benar membolehkan memperluaskan bahasa untuk menyesuaikan masalah di tangan. Dalam bidang AI, grafik dan antara muka pengguna, Lisp telah digunakan secara meluas kerana keupayaan prototaip pantas ini. Walau bagaimanapun, disebabkan kebolehan pengaturcaraan logik yang terbina, Prolog sesuai untuk masalah AI dengan penalaran simbolik, pangkalan data dan aplikasi parsing bahasa. Pilihan satu dengan yang lain sepenuhnya bergantung pada jenis masalah AI yang perlu diselesaikan.