Hi, I'm Avelino.

Golang (Gopher), Neural Network, Artificial Intelligence

História do Lisp, abra os olhos para programação funcional

Feb 8, 2018 | 6 minutes read

Lisp a linguagem de programação orientada a parenteses

Como começou minha paixão por parênteses (ops Lisp)?

Tenho uma formação na área de Matemática Aplicada (começa ai a loucura), Lisp foi uma das poucas linguagens de programação que me deparei dentro da academia (eu já programava em Perl profissionalmente e conhecia Python), quando vi aqueles parênteses de cara pensei isso não é para mim (isso é uma loucura de Matemática/Acadêmico que nunca saiu para o mercado de trabalho). Com o passar das aulas eu comecei achar confortável os parênteses (seres humanos acostuma muito rápido com tudo) e comecei achar estranho a forma de pensar para escrever a lógica do software (por exemplo (+ 1 2)). Lisp usa Notação polonesa como forma de expressão, isso foi complicado acostumar, no dia a dia usava uma linguagem de programação “normal” e dentro da academia funcional (sem saber que era funcional).

Com o tempo comecei pegar gosto pela forma de pensar (funcionalmente) e acabei entrando para um projeto (no mercado, não académico) que usava Common Lisp na sua implementação SBCL (Steel Bank Common Lisp, que é mantido até hoje). Nesse momento eu virei super fã da linguagem e com a forma de lidar com software (de verdade) em produção. A empresa trabalhava com dados estatístico do mercado de Pesquisa Cliníca e LISP foi tomado como linguagem por matemáticos, isso facilitou muito a comunicação entre o time de engenharia e acadêmicos.

Como tudo começou?

É um conjunto de linguagem de programação especificada pelo John McCarthy em 1955 saindo sua primeira versão em 1958 (durante um projeto de pesquisa em inteligência artificial) influenciado pelo seu aluno Alonzo Church. A motivação de McCarthy surgiu da idéia de desenvolver uma linguagem algébrica para processamento de listas para trabalho em IA (inteligência artificial). O seu nome vem de LISt Processing (a lista é a estrutura de dados fundamental desta linguagem). Tanto os dados como o programa são representados como listas, o que permite que a linguagem manipule o código fonte como qualquer outro tipo de dados.

Nascendo assim o Lisp 1, a versão que realmente foi distribuída por McCarthy e outros do MIT (Massachussets Institute of Tecnology) foi Lisp 1.5 (manual de programadores), assim chamada porque continha várias melhorias no interpretador Lisp 1 original, mas não foi uma grande reestruturação como planejado que fosse ser o Lisp 2.

Linha do tempo de linguagens que segue o dialeto Lisp

Vou começar apartir do Lisp 1.5 pois foi o primeiro a ser distribuido.

Veja a timeline visual

Não para por aqui, existe muitas outras derivações…

É isso mesmo, Lisp é uma linguagem de programação que tem vários dialetos e implementações, com a ANSI Common Lisp itilizada como o dialeto mais utilizado.

Existe outra linguagem (mais usada que Lisp) o SQL ANSI (American National Standards Institute): - PostgreSQL - MySQL - Oracle - Microsoft SQL - e outros

Todos tem como dialeto o SQL ANSI mas evoluiu a partir do default.

Por onde começar estudar Lisp?

Vamos supor que você gostou da loucura que é as diversas implementações e você quer estudar essa linguagem, por onde você começa?

Qual interpretador usar? Eu particularmente gosto do SBCL (particularmente é o que mais tenho usado para desenvolvimento), em produção uso CCL, se você trabalha com alguma tecnologia que roda em JVM vai para Clojure.

Segue alguns links:

Deixe seu comentario


TOP