Tampaknya menulis Deklaratif SQL
sangat populer di Pemrograman Imperatif . Namun, sepertinya juga menulis Deklaratif Prolog
bisa menghemat banyak kerumitan tetapi ini tidak terlalu umum.
Apakah ada preseden historis untuk preferensi yang jelas dari SQL lebih dari Prolog?
Jika alasannya adalah kurangnya dukungan asli oleh bahasa Imperatif , maka apakah mungkin untuk menjawab mengapa pembuat bahasa tidak merasa bermanfaat untuk mendukung secara asli Prolog
?
Untuk memberikan beberapa contoh spesifik:
Contoh 1
Mengevaluasi aplikasi pinjaman mungkin hanya beberapa baris kode Prolog
, seperti SELECT/JOIN
kueri yang hanya beberapa baris kode SQL
, tetapi tampaknya keuntungannya tidak sejelas SQL
.
Contoh 2
Berikut adalah contoh masalah lain dan solusinya dalam Prolog. Program logika kendala berikut mewakili dataset yang disederhanakan dari sejarah john sebagai guru:
teaches(john, hardware, T) :- 1990 ≤ T, T < 1999.
teaches(john, software, T) :- 1999 ≤ T, T < 2005.
teaches(john, logic, T) :- 2005 ≤ T, T ≤ 2012.
rank(john, instructor, T) :- 1990 ≤ T, T < 2010.
rank(john, professor, T) :- 2010 ≤ T, T < 2014.
Klausa tujuan berikut ini menanyakan dataset untuk mengetahui kapan john mengajar logika dan juga seorang profesor :
:- teaches(john, logic, T), rank(john, professor, T).
Hasil:
2010 ≤ T, T ≤ 2012.
Dalam contoh di atas akan mudah SQL
untuk mendapatkan hasil yang sama. Tapi anggaplah Anda memiliki data ini dalam Array
. Maka tidak mudah untuk mendapatkan hasil yang sama dengan menggunakan SQL
. Dan dalam hal data disimpan dalam sebuah array, saya percaya bahwa kode Prolog akan lebih mudah untuk ditulis dan dipelihara.