J'apprends actuellement Lisp, issu d'une progression linguistique qui s'appelle Locomotive BASIC -> Z80 Assembler -> Pascal -> C -> Perl -> C # -> Ruby. Mon approche est de simultanément:
- écrire un simple gratte Web en utilisant SBCL, QuickLisp, closing-html et drakma
- regarder les conférences du SICP
Je pense que cela fonctionne bien; Je développe de bonnes "lunettes Lisp", dans la mesure où je peux maintenant lire Lisp assez facilement. Je me familiarise également avec le fonctionnement de l'écosystème Lisp, par exemple Quicklisp pour les dépendances.
Ce que je manque vraiment, cependant, est un sens de la façon dont un Lisper assaisonné réellement fonctionne .
Lorsque je code pour .NET, Visual Studio est configuré avec ReSharper et VisualSVN. J'écris des tests, j'implémente, je refacture, je commets. Puis, quand j'en ai assez fini pour compléter une histoire, j'écris des AUAT. Ensuite, je lance une version basée sur TeamCity afin de transmettre la nouvelle fonctionnalité au client afin que celui-ci soit testé et approuvé. Si c'est une application qui nécessite un programme d'installation, j'utilise WiX ou InnoSetup, en construisant évidemment le programme d'installation via le système CI.
Ma question est donc la suivante: en tant que Lisper expérimenté, à quoi ressemble votre flux de travail? Travaillez-vous principalement dans le REPL ou dans l'éditeur? Comment faites-vous des tests unitaires? Intégration continue? Emballage et déploiement? Lorsque vous vous assoyez à votre bureau, une tasse de café fumante sur le côté et une photo encadrée de John McCarthy à l’autre, que faites - vous ?
Actuellement, j'ai l'impression de maîtriser le codage Lisp, mais pas le développement de Lisp ...