emacs/var/elfeed/db/data/22/229fc2e4ed22790919dce8042483010abff62fea
2022-01-03 12:49:32 -06:00

23 lines
2 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>Today I came across this great summary of the concept of interactive programming:</p>
<blockquote>
<p>Development in Common Lisp is interactive. Theres no separate compile/run/debug cycle. Instead of that, the program is developed while it runs. Compilation is incremental, and functions can be created and updated on the fly. As the program is running, all objects are available and can be inspected all the time. This is much more than a simple REPL; the whole environment, from the IDE to the language is prepared for this type of development.</p>
<p> https://common-lisp.net/features</p>
</blockquote>
<p>Obviously, this is not something specific to Common Lisp and it applies to most Lisp dialects and many other programming languages.</p>
<p>I was first exposed to interactive programming when studying Common Lisp in 2005. Back then I came across <a href="https://www.youtube.com/watch?v=NUpAvqa5hQw">a SLIME screencast</a> by Marco Baringer that blew my mind (I was mostly programming in C++ and Java at the time).<sup id="fnref:1"><a class="footnote" href="https://batsov.com/articles/2021/12/24/interactive-programming-in-a-nutshell/#fn:1" rel="footnote">1</a></sup> Today such a workflow feels just as magical and special as it did all those years ago.</p>
<p>For me interactive programming is probably <em>the most important advantage</em> of Lisps and Emacs over other programming languages and editors. I cannot imagine any productive workflow without it!</p>
<p>Ive written a bit about interactive programming with Clojure and Emacs <a href="https://docs.cider.mx/cider/usage/interactive_programming.html">here</a>. Still, I always feel that this is one of those concepts that you cant really understand until youve experienced it. Just like the Matrix.</p>
<div class="footnotes">
<ol>
<li id="fn:1">
<p>I still have it on my todo list to record a similar screencast for CIDER. <a class="reversefootnote" href="https://batsov.com/articles/2021/12/24/interactive-programming-in-a-nutshell/#fnref:1">↩</a></p>
</li>
</ol>
</div>