برولوغ
لغات برمجة | |
لغات كائنية | |
سي++ ++C |
سي شارپ #C |
دلفي (لغة برمجة) Delphi |
ادا 95 Ada |
جاڤا Java |
سمولتوك Smalltalk |
روبي Ruby |
اوبجكت پاسكال Object Pascal |
لغات تقليدية | |
بيسيك Basic |
سي C |
باسكال Pascal |
كوبول COBOL |
فورتران FORTRAN |
أسمبلي Assembly |
لغات وظيفية | |
ليسپ Lisp |
پرولوگ Prolog |
پايثون Python |
پاريس Paris |
هندسة برامج | |
البرولوغ (Prolog) هي لغة برمجة منطقية (logic programming) . الأسم مأخوذ من الفرنسية programmation en logique (برمجة المنطق)، تم أختراع اللغة بواسطة ألين كولميرايور حوالي العام 1972. كانت محاولة لجعل لغة البرمجة قادرة على أستخدام عبارات منطقية بدل حتى تكون تعليمات محددة تلقن إلى الحاسوب. صممت اللغة أساساً لتستخدام في عمل برامج معالجة اللغات الطبيعية.
تستخدم لغة البرولوغ في الكثير من برامج الذكاء الإصطناعي (artificial intelligence) وبرامج معالجة اللغات الطبيعبة. عبارات وقواعد اللغة تعبتر بسيطة جداً وواضحة (يتم كتابة البرنامج بالكامل بأستخدام الحقائق والقواعد). الكثير من الباحثين الذين يقودون تطبيقات حديثة للبرلوغ التي اتىت نتيجة أستخدام نسخات مختلفة من البرلوغ كنواة في مشاريع أنظمة حاسوب الجيل الخامس (fifth generation computer systems أختصاراً FGCS).
الحقائق Facts
تختلف طريقة البرمجة في برلوغ عن اللغات التقليدية. في برلوغ يتم كتابة الحقائق (Facts) والقواعد (Rules) في قاعدة بيانات، ثم يتم كتابة أستفسارت queries من قاعدة البيانات. الحقية تعبير عن سند (predicate) (الوحدة الأساسية للبرلوغ). يتكون السند من رأس (head) وعدد من الوسائط (arguments). مثال
cat(tom).
في هذا المثال نقول بباسطة حتى هناك توم 'tom' وهوقط 'cat'،بتعبير أدق 'cat' هورأس (head) السند و'tom' هووسيطة (argument). هنا عدد من الأستفسارات التي يمكن سؤالها بناء على هذه الخقيقة:
هل توم قط (is tom a cat)؟
?- cat(tom). yes.
ببساطة هنا نسأل إذا توم قط ويجيبنا برلوغ بنعم (yes).
ماهي الأمور التي هي قط (what things are cats)؟
?- cat(X). X = tom; yes
القواعد Rules
أن النوع الثاني من العبارت في برلوغ هي القواعد:
father(X,Y) :- parent(X,Y),male(X).
أنواع المعلومات Data types
لاتحتوي لغة البرلوغ على أنواع معلومات (Data types) تقليدية كلغات البرمجة التقليدية الأخرى. ولكن على عناصر هجريبية (lexical elements) .
الذرات Atoms
يعهد النص الثابت في برلوغ بمعنى الذرات Atoms. الذرة تعبير عن سلسة من الحروف،الأرقام ورمز شرطة-السفلية (_) (underscores) على حتى يبدأ النص بحرف أنجليزي صغير (lower-case). عادة، عادة اذا كان هناك رمز ليس بحرف أورقم فأنه يوضع بين (علامة التنصيص الأحادية) (مثال '+' يعتبر ذرة، في حين + يعتبر معامل)
الأرقام
معظم نسخ البرلوغ لاتميز بين الأعداد السليمة والأعداد الحقيقية.
المتغيرات Variables
يعبر المتغيرات Variables عن نص يتكون من الحروف،الأرقام ورمز شرطة-السفلية (_) على حتى يبدأ النص بحرف أنجليزي كبير (upper-case). عللى عكس اللغات القولية (imperative programming languages) في بيئة البرلوغ المتغير ليس مكان في الذاكرة (مستوعب) يمكن تخزين االقيم فيه. تصرف المتغيرات يتبع النمط لأيجاد القيمة.