Estou aprendendo Lisp no momento, vindo de uma progressão de idioma que é Locomotiva BÁSICA -> Z80 Assembler -> Pascal -> C -> Perl -> C # -> Ruby. Minha abordagem é simultaneamente:
- escreva um raspador da web simples usando SBCL, QuickLisp, encerramento-html e drakma
- assista às palestras do SICP
Eu acho que isso está funcionando bem; Estou desenvolvendo bons 'óculos Lisp', pois agora posso ler Lisp razoavelmente facilmente. Também estou sentindo como o ecossistema Lisp funciona, por exemplo, o Quicklisp para dependências.
O que realmente sinto falta, no entanto, é uma sensação de como um Lisper experiente realmente funciona .
Quando estou codificando para .NET, tenho o Visual Studio configurado com ReSharper e VisualSVN. Escrevo testes, implemento, refatoro, comprometo. Então, quando eu faço o suficiente para completar uma história, escrevo alguns AUATs. Então, inicio uma versão do TeamCity para enviar a nova funcionalidade ao cliente para teste e aprovação. Se é um aplicativo que precisa de um instalador, eu uso o WiX ou o InnoSetup, obviamente criando o instalador por meio do sistema de CI.
Então, minha pergunta é: como um Lisper experiente, como é o seu fluxo de trabalho? Você trabalha principalmente no REPL ou no editor? Como você faz testes de unidade? Integração contínua? Empacotamento e implantação? Quando você se senta em sua mesa, cozinhando uma caneca de café de um lado e uma foto emoldurada de John McCarthy para o outro, o que você faz ?
Atualmente, sinto que estou começando a entender a codificação Lisp, mas não o desenvolvimento Lisp ...