NYXT is a browser with a workflow inspired by Emacs and Vim. In particular, it strives to be keyboard driven and use Emacs-like shortcuts to speed and ease navigation. The development team takes this inspiration seriously and uses Common Lisp to program NYXT.
Naturally, this brings out the Lisp skeptics and haters who want to know why in the world anyone would choose Lisp as their development language. John Mercouris and Pierre Neidhardt are two of the developers and decided to answer this question once and for all. Their answer is a nice discussion that could serve to answer the same question in any number of domains.
They consider two main factors:
- Future proofing and Longevity
- Interactive programming
I’ve written many, many times about interactive (or exploratory) programming and why it’s my preferred development method. Mercouris and Pierre give their owns views on this and it’s certainly worth paying attention to them.
The longevity question is one I don’t usually think about but it’s also an important aspect. The idea is that Common Lisp is an extremely stable platform and has been for many years. Unlike Perl, to use their example, there are no backward incompatible changes to worry about. Most Common Lisp—whenever written—will still compile and run today.
To push the Emacs analogy a bit, another advantage that Lisp, like Emacs, offers is that it lets users adapt the language to suit their needs. The macro facility even lets you introduce new syntax if you need to.
Their post is a nice one if you’re wondering why anyone would choose to program in Lisp or if you’re trying to explain to someone else why you do. It’s a nice resource and well worth a couple minutes of your time.