Até que eu tô curtindo a Elisp
Nos últimos dias eu não ando fazendo tanta coisa assim, além de trabalhar e
estudar um pouco quando dá, mas uma coisa que eu venho experimentando cada vez
mais (até no trabalho, quando tenho tempo) é a própria linguagem do Emacs, a
Elisp
.
Se você me conhece, ou já viu meu perfil do Github, você já sabe que eu sou um
usuário de drog- Emacs, e ele não só é configurado nessa linguagem, como
é escrito nela e também interpreta ela! Só para colocar em perspectiva, um
equivalente a isso seria um programa configurado em Python, que é escrito em
Python e que interpreta Python.
A Elisp
é um dialeto da
Lisp que é integrada ao Emacs
e que tem funcionalidades que giram entorno de fazer parte de um editor de
texto. Resumindo:
- Você não tem dor de cabeça para gerenciar arquivos
- Você tem acesso a ferramentas de manipulação de buffers de texto
- Você tem toda a flexibilidade do Emacs a disposição
Enfim, é uma boa linguagem para experimentar.
Porém a sintaxe é que é a parte intrigante dos dialetos de Lisp.
Tudo (eu não tô de sacanagem) tem base em
S-Expressions,
o que faz com que uma declaração que seria escrita assim em C
:
int soma(x, y)
{
return x + y;
}
Virar isso aqui:
(defun soma (x y)
(+ x y))
Ambos resultam na mesma coisa, uma função que tem dois argumentos e que realiza a soma dos dois. Só.
E de primeira, isso é estranho para um cacete, mas depois de um tempo… continua estranho, mas você começa a curtir até.
É muito simples entender como que funciona a lógica por trás disso, só não é lá muito comum de ver algo desse tipo. E eu tô curtindo brincar com isso.
Principalmente porquê, como eu já disse, a Elisp
é parte do Emacs,
então onde o Emacs pode ser usado, eu posso brincar com ela (ou até mesmo criar
coisas úteis, o que é difícil de se imaginar vindo de mim).