O Lisp, ou antigamente LISP, não é só uma linguagem de programação e sim uma família de linguagens de programação, isso mesmo!
É um padrão que existem diversos dialetos, e é um dos padrões mais antigos do meio do “alto nível das linguagens de programação”, é somente 1 ano menos velha que o Fortran que é considerada a mais velha de todas.
Mais precisamente em 1958 Lisp foi desenvolvida John McCarthy.
O nome em português seria LISta do Processador, algo do tipo 😃 . O Lisp foi pioneira em muitas ideias que hoje são largamente utilizada, como:
Apesar de muitos acharem que Inteligência Artificial é algo moderno, naquela época Lisp era a predileta para AI , pesquisa e ciência de dados, até hoje ainda é assim por muitos.
Sua sintaxe é considerada uma verdadeira bizarrice, ou seja tudo, absolutamente tudo fica dentro de parênteses ( )
.
As linguagens de programação ou dialetos Lisp mais famosos são:
E diversas outras.
Estima-se haver mais de 30 dialetos Lisp, sendo que o mais famoso e atual é o Clojure .
Segundo a pesquisa do Stackoverflow o Clojure é a linguagem de programação que oferece os melhores salários no mundo!!!
A sintaxe é muito simples e fácil de aprender e lembre-se: sempre haverá parênteses!
Se você escrevesse JavaScript em Lisp, um código exemplo seria assim:
Bem sinistro, né não?!
Mas há diversos programadores no mundo de Lisp, e eles são totalmente acostumados e formam uma comunidade grande perante até muitas outras linguagens de programação mais famosas atualmente. E muitas empresas lá fora buscam programadores de Clojure e Lisp em geral.
Não é à toa que Clojure foi considerada a segunda linguagem de programação mais amada entre os programadores em 2021, segundo o Stackoverflow .
Bom, deixando um pouco o papo sobre Lisp de lado, mas ainda falando de Lisp… Há uma versão minimalista escrita em C++(ou seja, muito fácil de instalar, aliás bota facilidade nisso) que é o Wisp .
Trata-se de um projeto pessoal que implementa o Lisp de maneira muito simples e talvez seja sua melhor alternativa para você entrar no mundo Lisp, caso você queira entrar nesse mundo.
O legal desse dialeto é para você que curte C++ ele tem um código bem escrito e ideal para quem deseja futuramente criar sua própria linguagem de programação e entender conceitos de: tokens, lexicografia, parser e entre outros.
O interpretador inteiro foi escrito em um único arquivo wisp.cpp
e isso facilita muita coisa na análise de código e tudo dentro dele está bem organizado.
Como eu havia dito, a instalação é muito simples, primeiro basta usar o Git para clonar o projeto:
Agora basta ter um compilador, de preferência o g++, entrar no diretório e compilar com o comando abaixo.
Observação, ele só compila em C++ 2003.
E para instalar no sistema, copie para um diretório que esteja na sua $PATH
, eu sempre recomendo o /usr/local/bin
:
O Wisp não tem parâmetro para versão e nem help
, mas veremos que o uso é muito simples!
Eu ainda não entendo muito de Lisp, mas pretendo aprender até porque eu sou um fanático por aprender linguagens de programação.
Mas o básico seria um Hello, World! da vida e há 3 maneiras de fazer isso com Wisp:
Para isso use o parâmetro -c
e em seguida o código Lisp entre aspas simples e lógico entre parênteses:
Crie um arquivo de extensão .lisp
, exemplo: nvim hello.lisp
e insira o conteúdo abaixo:
E para rodar use o parâmetro -f
de file:
Se você só rodar o comando wisp
você entra na subshell que roda comandos Lisp, exemplo:
Note que para sair é
(exit)
(entre parênteses) e evite usar setas direcionais(→ ↓ ←), ele irá interpretar de forma literal, ou seja, aparecerá uns:^[[A^[[D^[[C
.
Para mais informações acesse o repositório oficial e o diretório de exemplos, aprender por exemplos é legal!