দেখে মনে হচ্ছে ইমপ্লেরিটি প্রোগ্রামিংয়ে ডিক্লারেটিভ লেখা SQL
খুব জনপ্রিয় । যাইহোক, এটিও মনে হয় যে ডিক্লেরেটরিটি লেখা অনেক জটিলতা বাঁচাতে পারে তবে এটি খুব সাধারণ বিষয় নয়। Prolog
প্রোলোগের চেয়ে এসকিউএলের এই আপাত পছন্দটির কোনও aতিহাসিক নজির আছে কি?
যদি ইম্পিটিভ ভাষাগুলি দ্বারা দেশীয় সহায়তার অভাব হয় , তবে ভাষা নির্মাতারা কেন Prolog
প্রথম স্থানে স্থানীয়ভাবে সমর্থন করার পক্ষে উপযুক্ত মনে করেন নি তার উত্তর দেওয়া সম্ভব ?
কিছু নির্দিষ্ট উদাহরণ সরবরাহ করতে:
উদাহরণ 1 উদাহরণস্বরূপ
loanণ অ্যাপ্লিকেশন মূল্যায়ন করা কোডের কয়েকটি লাইন হতে পারে Prolog
, যেমন SELECT/JOIN
কোয়েরিতে কোডের কয়েকটি লাইন SQL
, তবে মনে হয় সুবিধাটি তেমন সুস্পষ্ট নয় SQL
।
উদাহরণ 2
এখানে আরেকটি উদাহরণ সমস্যা এবং প্রোলোগের সমাধান। নিম্নলিখিত সীমাবদ্ধ যুক্তি প্রোগ্রামটি একজন জনক হিসাবে জন এর ইতিহাসের সরলিকৃত ডেটাসেট উপস্থাপন করে :
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.
জন দুজনে যখন যুক্তি শিখিয়েছিলেন এবং একজন অধ্যাপক ছিলেন তখন নিম্নলিখিত গোলের ক্লজটি ডেটাসেটটি অনুসন্ধান করে :
:- teaches(john, logic, T), rank(john, professor, T).
ফলাফল:
2010 ≤ T, T ≤ 2012.
উপরের উদাহরণে SQL
একই ফলাফলটি পাওয়া সহজ হবে । তবে ধরুন যে আপনার কাছে এই ডেটা রয়েছে Array
। তারপরে একই ফলাফল ব্যবহার করা তত সহজ নয় SQL
। এবং অ্যারেতে থাকা ডেটা সংরক্ষণের ক্ষেত্রে, আমি বিশ্বাস করি যে প্রোলোগ কোডটি লিখতে এবং বজায় রাখা আরও সহজ হবে।