I wrote a small program in CL and Rust, and (SB)CL can run faster than Rust EVEN FROM SOURCE! It's just completely mindblowing how fast it starts.
If you don't believe me, write a program that does something like count how many times each letter appears in a text file in CL and Rust, then run them with `time`. I can pretty much guarantee CL runs as fast or faster.
EDIT: my comment is meant for anyone curious about OP's clamis, I am obviously just agreeing with their point about CL's startup speed.
SBCL still needs garbage collection. There are also https://github.com/carp-lang/Carp and https://github.com/bakpakin/Fennel
I haven't used these. Would be great if low-level and embedded engineers could chime in.
BTW, since you program professionally in CL, do you use Emacs? Doom or custom?
Blog post about this will be written subsequently at https://blog.djha.skin .
1: https://git.sr.ht/~djha-skin/dotfiles/tree/main/item/dot-con...
2: https://git.sr.ht/~djha-skin/dotfiles/tree/main/item/dot-loc...
3: https://git.sr.ht/~djha-skin/dotfiles/tree/main/item/dot-scr...
I'm a vim user too, but recently I've been considering Common Lisp mainly due to this post: https://mikelevins.github.io/posts/2020-12-18-repl-driven/
so I did a brief tour on Emacs (cause everyone uses sly) but both Emacs and CL take too much time so I've postponed them.
Would be nice if you describe your vim+cl workflow and how does it hold up to Emacs+Sly+Org-mode ™
Common Lisp has everything Clojure has. It feels like Rich Hickie took everything that he liked about Common Lisp and put it into Clojure. Many of the functions in Clojure were basically copied from Common Lisp: if-let, conj(oin), disj(oin) are some examples of core Clojure functions and macros that were totally stolen from Alexandria.
Even better, most CL implementations can save directly to an executable file. Embeddable Common Lisp is my favorite because its executable files are measured in kilobytes, something I could never do with native-image. And the startup time is amazing.
I did look at other lisp languages when deciding to move away from Clojure. However, Racket's standalone executables (raco exe) include the interpreter, and so are huge; Chez Scheme's ecosystem doesn't have a YAML library as far as I can tell, ditto for Chicken. Also scheme's library ecosystem in general (sans racket) is a bit lacking to me.
Common Lisp it is. It has its warts, but they're not too bad. It's long history also speaks of stability though. SBCL is crazy good optimized.