A família Emacsen, o design de um Emacs e a importância do Lisp (2023)
Um novo editor semelhante ao Emacs chamado Lem, construído em Common Lisp, está atraindo interesse por sua velocidade, sua interface baseada em SDL2 e seu suporte LSP integrado, ao mesmo tempo em que levanta questões sobre a ausência de elementos essenciais do Emacs, como Org mode, ferramentas git do nível do Magit e o vasto ecossistema de extensões. Os comentaristas debatem licenças permissivas (MIT) versus copyleft (GPL) no contexto de editores, ponderando liberdade individual versus liberdade da comunidade e até que ponto as licenças realmente conseguem proteger os direitos dos usuários ao longo do tempo. O debate também se amplia para a tensão de longa data Emacs/Vim vs. VS Code, destacando a extensibilidade baseada em Lisp do Emacs e sua filosofia de “editor como plataforma” como o principal motivo pelo qual muitos usuários continuam fiéis a ele apesar da mudança do mainstream para o VS Code.
Lem: Editor Semelhante ao Emacs em Common Lisp
- Lem é destacado como um editor no estilo Emacs baseado em Common Lisp, com links para seu site e repositório.
- Ele tem interfaces SDL2 (gráfica) e ncurses (terminal); o SDL2 é descrito como “divertido” e responsivo, com inicialização rápida (≈1s).
- Usuários de Nix/NixOS observam que existe um flake, mas ele está atrasado em relação às versões atuais do Lem.
Licenciamento: GPL vs MIT e Liberdade de Software
- Alguns ficam desapontados por o Lem não ser GPL; outros questionam por que isso deveria ser “triste”.
- Um grupo vê a GPL como preservando a liberdade da comunidade (impedindo o enclausuramento proprietário das melhorias).
- Outro grupo prefere licenças permissivas (MIT) por maximizar a liberdade individual, argumentando que a GPL é mais restritiva e mais difícil de fazer cumprir na prática.
- Há debate sobre se os defensores do copyleft, no fim das contas, querem abolir o copyright de software, e se esse objetivo é coerente.
- Pontos práticos: aplicabilidade jurídica da GPL, aversão de empresas ao risco do copyleft, e preocupação com “trabalhar de graça para corporações” com código MIT.
Emacs, Vim, VSCode e as “Guerras de Editores”
- Alguns afirmam que Vim e Emacs “perderam” para o VSCode em popularidade; outros respondem que afirmações parecidas já foram feitas sobre Sublime, Atom, TextMate etc.
- Vários argumentam que Emacs e Vim não buscam dominar o mercado e têm comunidades duradouras.
- Uma visão: aprofundar-se em qualquer editor poderoso (Emacs ou Vim) importa mais do que correr atrás de cada nova moda.
Emacs como Plataforma vs Editor
- Emacs é descrito como uma plataforma geral (PIM, e-mail, IRC, cliente Mastodon, web scraping, planilhas, programação literária, anotação de PDFs etc.), não apenas um editor de código.
- O VSCode é visto como um IDE forte, especialmente com LSP, mas menos maleável: Emacs permite que os usuários executem Lisp arbitrário como configuração, vivendo no processo em execução.
- Alguns enfatizam o valor do Emacs para fluxos de trabalho não ligados à programação (org-mode, Magit, gerenciamento de tarefas), mesmo que a ergonomia de programação fique atrás do VSCode em algumas áreas.
Recursos, Lacunas e UX do Lem
- O Lem tem um cliente LSP, modos no estilo Emacs e Vim, uma interface baseada em SDL com capacidade de exibir imagens, um modo de diretório/filer e uma interface Git em desenvolvimento com staging e rebase.
- Atualmente ele carece de “aplicativos matadores” centrais do Emacs como org-mode, a maturidade do Magit e ferramentas ricas do ecossistema (treemacs, vertico etc.), o que dificulta a migração.
- Existe edição modal; configurações no estilo leader-key (como no Doom/Spacemacs) ainda não estão presentes e são vistas como um bloqueio por alguns.
- Um comentarista quer gráficos/diagramas mais fortes embutidos; as capacidades SDL do Lem sugerem isso, mas ainda não o entregam.
Website e Entrega de Mídia
- O site do EmacsConf é elogiado por funcionar bem sem JavaScript e por ser leve.
- Alguns usuários em Apple/Safari têm dificuldade com reprodução de WebM/VP9, o que leva à discussão sobre suporte a codecs em vez de JS.
História e Projetos Relacionados
- Esclarecimentos: o EMACS original foi um projeto do MIT AI Lab; o Gosling Emacs teve depois uma versão comercial que influenciou o GNU Emacs.
- Outros projetos inspirados em Emacs são mencionados: Rune (Rust), Pimacs (Go), editores no estilo Helix/Kakoune e a arquitetura histórica Deuce como uma fonte de inspiração subestimada.