"How the strengths of Lisp-family languages facilitate building complex and flexible bioinformatics applications" by Bohdan B Khomtchouk, Edmund Weitz, Peter D Karp, and Claes Wahlestedt
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5952920/
Damn, interesting read. Some fun facts from the article:
Development times for the Lisp programs ranged from 2 to 8.5 h, compared with 2 to 25 h for C/C ++ and 4 to 63 h for Java (programmer experience alone does not account for the differences). The Lisp programs were also significantly shorter than the other programs.
Probably the REPL and reflective utilities that come for free in CL.
And although the execution times of the fastest C/C ++ programs were faster than the fastest Lisp programs, on average, the Lisp programs ran significantly faster than the C/C ++ programs and much faster than the Java programs (mean runtimes were 41 s for Lisp versus 165 s for C/C ++).
Maybe this has to do with the Lisp people having more free time to optimize, but SBCL is pretty hot on GCC's tail nowadays, within half a magnitude usually.
Lisp macros are thus not only used for moderately simple ‘find and replace’ chores but can apply extensive structural changes to a program. This includes tasks that are impossible in other languages. Examples would be the introduction of new control structures (while Python users had to wait for the language designers to introduce the ‘with’ statement in version 2.5, Lisp programmers could always add something like that to the language themselves), pattern matching capabilities (while Lisp does not have pattern matching like ML or Haskell out of the box, it is easy to add [56]) or the integration of code with markup languages (if you want you can, e.g., write code that mimics the structure of an HTML document it is supposed to emit [57, 58]).
Edi, you absolute bastard, you just had to sell CL-WHO. Nicely played.