Diferença Entre Prolog e Lisp

Anonim

Prolog vs Lisp

Prolog e Lisp são duas das linguagens de programação de computador AI (Inteligência Artificial) mais populares hoje. Eles são construídos com dois diferentes paradigmas de programação. O Prolog é uma linguagem declarativa, enquanto Lisp é um idioma funcional. Ambos são usados ​​para vários problemas de AI, mas o Prolog é usado mais para problemas de lógica e raciocínio, enquanto o Lisp é usado para problemas com necessidades rápidas de prototipagem.

Prolog

Prolog é uma linguagem de programação AI. Pertence à família de linguagens de programação lógica. Prolog é uma linguagem declarativa, na qual os cálculos são transmitidos ao executar consultas sobre as relações (que representam a lógica do programa), que são definidas como regras e fato. Desenvolvido em 1970, o prolog é uma das linguagens de programação lógicas mais antigas e uma das linguagens de programação AI mais populares hoje (junto com a Lisp). É uma linguagem gratuita, mas muitas variantes comerciais estão disponíveis. Foi usado pela primeira vez para processamento de linguagem natural, mas agora foi usado para várias tarefas, como sistemas especializados, sistemas de atendimento automatizado, jogos e sistemas avançados de controle. O Prolog possui apenas um tipo de dados chamado termo. Um termo pode ser um átomo, número, variável ou um termo composto. Os números podem ser flutuantes ou inteiros. Prolog suporta listas e cadeias como coleção de itens. O Prolog define relações usando cláusulas. As cláusulas podem ser regras ou fatos. O Prolog permite a iteração através de seus predicados recursivos.

Lisp

Lisp é uma família de linguagens de programação de computadores. E os dialetos Lisp mais famosos utilizados para programação de propósito geral hoje são Common Lisp e Scheme. O nome LISP vem de "LISt Processing" e, como ele sugere, a principal estrutura de dados da Lisp é a lista vinculada. Na verdade, toda a fonte é escrita utilizando listas (usando notação de prefixo), ou mais listas corretamente entre parênteses (chamadas de expressões s). Por exemplo, uma chamada de função é escrita como (f a1 a2 a3), o que significa que a função f é chamada usando a1, a2 e a3 como argumentos de entrada para a função. Portanto, é chamado de linguagem orientada a expressão, onde todos os dados e códigos são escritos como expressões (não há distinção entre expressões e declarações em Lisp). Este recurso agradável é muito especial para a Lisp, onde pode ser usado para estender o idioma ao problema em questão, escrevendo macros úteis. Embora a recursão da cauda seja usada por programadores para expressar loops, todos os dialetos Lisp freqüentemente vistos incluem estruturas de controle como loop. Além disso, Common Lisp e esquema têm mapcar e mapa que são exemplos de funções, que fornecem funcionalidades de loop aplicando a função sucessivamente a todos os seus elementos e, em seguida, coleta os resultados em uma lista.

Qual a diferença entre Prolog e Lisp?

Embora, Prolog e Lisp sejam duas das linguagens de programação AI mais populares, elas têm várias diferenças. Lisp é um idioma funcional, enquanto o Prolog é uma programação lógica e linguagens declarativas. Lisp é muito flexível devido à sua prototipagem rápida e recursos de macro, portanto, ele realmente permite ampliar o idioma para se adequar ao problema em questão. Nas áreas de AI, gráficos e interfaces de usuário, Lisp tem sido amplamente utilizado devido a essa capacidade de prototipagem rápida. No entanto, devido às suas capacidades de programação lógica incorporada, o Prolog é ideal para problemas de AI com aplicações de raciocínio simbólico, banco de dados e análise de linguagem. A escolha de uma sobre a outra depende completamente do tipo de problema de AI que precisa ser resolvido.