Lisp
Linguagem de programação

Lisp é uma linguagem dinâmica, cujos programas são constituídos por pequenos módulos, de funcionalidade genérica e que cumprem um objectivo muito simples. É a sua combinação que produz um programa completo. Os módulos desenvolvidos em Lisp possuem, geralmente, uma funcionalidade que ultrapassa largamente os objectivos para que foram concebidos. A não tipificação de dados, a possibilidade de tratar dados e programas de um mesmo modo e a indistinção entre funções definidas pela linguagem e funções definidas pelo programador são algumas das razões da sua flexibilidade.

A linguagem Lisp nasceu como uma ferramenta matemática, independente de qualquer computador e só posteriormente se procedeu à sua adaptação a uma máquina. Uma vez que em Lisp não existia qualquer dependência, à priori, do processador que iria executar a linguagem, a linguagem também não podia tirar partido das suas potencialidades, sendo as primeiras versões muito ineficientes. Esta ineficiência resultava de os programas Lisp serem interpretados, sendo por isso muito mais lentos do que o que uma compilação permite ao reescrever um programa na linguagem do processador. No entanto, com o aparecimento de compiladores eficazes e de um suporte cada vez maior da parte dos processadores, Lisp possui, actualmente, uma eficiência comparável à das restantes linguagens.

Lisp dá ao programador a capacidade de extender a linguagem como entender, permitindo incorporar outros estilos de programação, como programação orientada para objectos, programação orientada para regras, etc. Quando surgem novos paradigmas de programação, o Lisp incorpora-os facilmente enquanto as antigas linguagens morrem. Isto permite adaptar a linguagem ao problema que estamos a resolver em vez de termos de adaptar o problema à linguagem que estamos a usar.

Como linguagem de programação , LISP é caracterizada pelas seguiontes ideias: computação com expressões simbolicas além das numéricas, representação das expressões simbolicas e de outras informações é feita pela estrutura de listas na memória do computador, a representação externa das informações é feita usando listas multi-niveis, uma pequena parte das operações de deleção e construção é espressadas como funções, composição de funções como ferramentas para formar funções mais complexas,de ntre varias.

Algumas dessa ideias foram adquiridas de outras linguagens, mas a maioria era nova. Ficou claro que a combinação dessas ideias resultou em um elegante sistema matematico bem como uma pratica linguagem de programação. O resultado mostra que programas LISP podem ser interpretados como sentenças e esquemas de primeira ordem logica, confirmando que clareza logica valeria apena.