Encapsulation (məlumatların qorunması) - məlumatları və bu məlumatları manipulyasiya edən metodları birləşdirən və hər ikisini xarici müdaxilədən qoruyan bir mexanizm.
Deklarativ proqramlaşdırma. Deklarativ proqramlaşdırmada xüsusi diqqət, nə edilməli olduğuna deyil, nə ediləcəyinə (imperativ dillərdə) verilir. Burada əsas şey problemin dəqiq ifadəsidir və onu həll etmək üçün lazımi alqoritmin seçilməsi və tətbiqi icraçı sistemin problemidir, amma proqramçı deyil. Məsələn, HTML veb səhifələri səhifənin nə ehtiva etdiyini və səhifəni ekranda necə göstərməyinizi təsvir etdikləri üçün deklarativdir. Bu yanaşma, proqramçıdan icrası üçün bir alqoritm təyin etməsini tələb edən imperativ proqramlaşdırma dillərindən fərqlənir.
Deklarativ proqramlaşdırmanın iki qolu var: yan təsirləri təmin edən prosedur dillərindəki funksiyalardan fərqli olaraq mühitini dəyişməyən bir funksiyanın riyazi konsepsiyasına əsaslanan funksional və proqramların riyazi məntiq düsturları şəklində ifadə olunduğu məntiqi və problemi həll edən bir kompüter. onlardan məntiqi nəticələr çıxarmağa çalışır.
Məntiq proqramlaşdırma riyazi məntiqə əsaslanaraq. Ancaq ən məşhur məntiqi proqramlaşdırma dili PROLOGUE (Prolog) dır. PROLOGUE proqramı iki komponentdən ibarətdir: faktlar və qaydalar. Faktlar, proqramın işlədiyi məlumatlardır və faktların cəmi, əlaqəli verilənlər bazası olan PROLOGUE verilənlər bazasıdır. Məlumatlarda yerinə yetirilən əsas əməliyyat birləşmə və ya uzlaşma əməliyyatı adlandırılan uyğun əməliyyatdır.
Digər dekorativ dillərə gəldikdə, onunla işləyərkən, proqramçı vəziyyəti (qaydaları və faktları) təsvir edir və PROLOG tərcüməçisinə onun üçün problemin həllini tapmağa imkan verən məqsəd (tələb) tərtib edir. PROLOGUE tərcüməçisi, PROLOGUE dilindən istifadə edərək problemin həlli mexanizmi kimi başa düşülür. PROLOGUE proqramı, faktlar və (bəlkə də) qaydalar toplusudur. Proqramda yalnız faktlar varsa, deməli verilənlər bazası deyilir.
Əgər qaydalar da mövcuddursa, bilik bazası termini tez-tez istifadə olunur.
Kompüterin bir problemi həll etmək üçün etməli olduğu addımlar ardıcıllığını təyin edən prosedur dillərində yazılmış proqramlardan fərqli olaraq PROLOGUE-də bir proqramçı faktları, qaydaları, aralarındakı münasibətləri, habelə problemlə bağlı sualları təsvir edir.
PROLOGUE-nin ən tipik tətbiqi ekspert sistemləridir.