Prolog vs Lisp
Prolog dhe Lisp janë dy nga gjuhët më të njohura të programimit kompjuterik të AI (Inteligjencës Artificiale) sot. Ato janë ndërtuar me dy paradigma të ndryshme programimi. Prolog është një gjuhë deklarative, ndërsa Lisp është një gjuhë funksionale. Të dyja përdoren për probleme të ndryshme të AI, por Prolog përdoret më së shumti për probleme logjike dhe arsyetimi, ndërsa Lisp përdoret për probleme me nevoja të shpejta të prototipit.
Prolog
Prolog është një gjuhë programimi e AI. I përket familjes së gjuhëve të programimit logjik. Prolog është një gjuhë deklarative, në të cilën llogaritjet barten duke ekzekutuar pyetje mbi relacionet (të cilat përfaqësojnë logjikën e programit), të cilat përkufizohen si rregulla dhe fakte. E zhvilluar në vitin 1970, prolog është një nga gjuhët më të vjetra të programimit logjik dhe një nga gjuhët më të njohura të programimit të AI sot (së bashku me Lisp). Është një gjuhë e lirë, por shumë variante komerciale janë në dispozicion. Fillimisht u përdor për përpunimin e gjuhës natyrore, por tani përdoret për detyra të ndryshme si sisteme ekspertësh, sisteme të automatizuara të përgjigjeve, lojëra dhe sisteme të avancuara të kontrollit. Prolog ka vetëm një lloj të dhënash të quajtur term. Një term mund të jetë një atom, numër, variabël ose një term i përbërë. Numrat mund të jenë float ose numra të plotë. Prolog mbështet listat dhe vargun si koleksion artikujsh. Prolog përcakton marrëdhëniet duke përdorur klauzola. Klauzolat mund të jenë ose rregulla ose fakte. Prolog lejon përsëritjen e plotë përmes kallëzuesve të tij rekurzivë.
Lisp
Lisp është një familje e gjuhëve të programimit kompjuterik. Dhe dialektet më të famshme Lisp që përdoren sot për programim për qëllime të përgjithshme janë Common Lisp dhe Scheme. Emri LISP vjen nga "LIST Processing" dhe siç lë të kuptohet, struktura kryesore e të dhënave të Lisp është lista e lidhur. Në fakt, i gjithë burimi shkruhet duke përdorur lista (duke përdorur shënimin e parashtesave), ose më saktë listat me kllapa (të quajtura s-shprehje). Për shembull, një thirrje funksioni shkruhet si (f a1 a2 a3), që do të thotë se funksioni f thirret duke përdorur a1, a2 dhe a3 si argumente hyrëse për funksionin. Prandaj quhet një gjuhë e orientuar nga shprehjet, ku të gjitha të dhënat dhe kodi shkruhen si shprehje (nuk ka dallim midis shprehjeve dhe pohimeve në Lisp). Kjo veçori e bukur është shumë e veçantë për Lisp, ku mund të përdoret për të zgjeruar gjuhën në problemin në fjalë duke shkruar makro të dobishme. Megjithëse rekursioni i bishtit përdoret nga programuesit për të shprehur unazat, të gjitha dialektet e Lisp që shihen shpesh përfshijnë struktura kontrolli si cikli. Për më tepër, Common Lisp dhe scheme kanë mapcar dhe map që janë shembuj funksionesh, të cilat ofrojnë funksionalitet looping duke aplikuar funksionin në mënyrë të njëpasnjëshme në të gjithë elementët e tij dhe më pas mbledhin rezultatet në një listë.
Cili është ndryshimi midis Prolog dhe Lisp?
Megjithëse, Prolog dhe Lisp janë dy nga gjuhët më të njohura të programimit të AI, ato kanë dallime të ndryshme. Lisp është një gjuhë funksionale, ndërsa Prolog është një gjuhë programuese logjike dhe deklarative. Lisp është shumë fleksibël për shkak të tipareve të tij të shpejta të prototipit dhe makro, kështu që në të vërtetë lejon zgjerimin e gjuhës për t'iu përshtatur problemit në fjalë. Në fushat e AI, grafikës dhe ndërfaqeve të përdoruesit, Lisp është përdorur gjerësisht për shkak të kësaj aftësie të shpejtë të prototipit. Megjithatë, për shkak të aftësive të tij të integruara të programimit logjik, Prolog është ideal për problemet e AI me arsyetimin simbolik, bazën e të dhënave dhe aplikacionet e analizimit të gjuhës. Zgjedhja e njërit mbi tjetrin varet plotësisht nga lloji i problemit të AI që duhet të zgjidhet.