Ich lerne gerade Lisp, und zwar aus einer Sprachentwicklung, die Locomotive BASIC -> Z80 Assembler -> Pascal -> C -> Perl -> C # -> Ruby ist. Mein Ansatz ist es, gleichzeitig:
- Schreiben Sie einen einfachen Web-Scraper mit SBCL, QuickLisp, closure-html und drakma
- Sehen Sie sich die SICP-Vorlesungen an
Ich denke, das funktioniert gut. Ich entwickle eine gute "Lisp-Brille", da ich Lisp jetzt einigermaßen leicht lesen kann. Ich bekomme auch ein Gefühl dafür, wie das Lisp-Ökosystem funktioniert, z. B. Quicklisp für Abhängigkeiten.
Was mir jedoch wirklich fehlt, ist ein Gefühl dafür, wie ein erfahrener Lisper tatsächlich funktioniert .
Wenn ich für .NET codiere, habe ich Visual Studio mit ReSharper und VisualSVN eingerichtet. Ich schreibe Tests, ich implementiere, ich refactor, ich begebe. Wenn ich dann genug davon getan habe, um eine Geschichte fertigzustellen, schreibe ich ein paar AUATs. Dann starte ich ein Release-Build auf TeamCity, um die neuen Funktionen dem Kunden zum Testen und hoffentlich zur Genehmigung zur Verfügung zu stellen. Wenn es sich um eine App handelt, die ein Installationsprogramm benötigt, verwende ich entweder WiX oder InnoSetup und erstelle das Installationsprogramm offensichtlich über das CI-System.
Meine Frage lautet also: Wie sieht Ihr Workflow als erfahrener Lisper aus? Arbeiten Sie hauptsächlich im REPL oder im Editor? Wie machst du Unit-Tests? Kontinuierliche Integration? Verpackung & Bereitstellung? Wenn Sie sich an Ihren Schreibtisch setzen, eine Tasse Kaffee auf die eine und ein gerahmtes Foto von John McCarthy auf die andere Seite dämpfen, was machen Sie dann ?
Momentan habe ich das Gefühl, dass ich mich mit Lisp-Codierung auseinandersetze, aber nicht mit der Lisp-Entwicklung ...