• Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    30
    ·
    edit-2
    3 days ago

    Don’t think the original LISP is used much anymore, but there’s various dialects like Scheme, Racket and Clojure.

    Some examples where it’s used, off the top of my head:

    • Lilypond for when you need your sheet music to be turing-complete. Uses Scheme.
    • Emacs, for configuring the whole editor. (Has an own dialect, Elisp.)
    • GNU Guix, which uses Scheme for configuring the entire operating system.

    Obviously, you can also use them for general software development. A few years ago, I read of some project that used Clojure for a larger backend service, with the author gushing all over the place.
    Some folks are really passionate about the LISPs, but yeah, not terribly popular in the corporate world…

    • HaraldvonBlauzahn@feddit.org
      link
      fedilink
      arrow-up
      2
      ·
      17 hours ago

      Emacs, for configuring the whole editor. (Has an own dialect, Elisp.)

      Emacs has its own Lisp dialect because it is one of the longest-running software projects in existence. Work is underway to port its core to Guile, while maintaining Elisp compatibility.

    • HaraldvonBlauzahn@feddit.org
      link
      fedilink
      arrow-up
      2
      ·
      17 hours ago

      Clojure, Racket and Guile are really nice. But especially Common Lisp is underrated - it is an interactive, compiled, high-performance language. What Lisps often suffer from is a lack of libraries compared to Python. For example, Clojure and Kawa run on the JVM. Guile has good POSIX bindings. Steel is implemented in Rust and can call into it, which means it can use its libraries.

    • lmr0x61@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 days ago

      Guix is such a cool idea, but Nix accomplishes essentially the same thing, and the syntax is much more accessible in a post-JavaScript world. Most programmers nowadays aren’t that familiar with Lisp-like syntax, for better or worse.

      • moonpiedumplings@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        2 days ago

        I don’t hate on any language’s syntax tbh, but the tooling for nix is absolutely miserable compared to similar.

        People hate on yaml a lot, but I can start typing and then press tab and it completes a whole template for whatever k8s objecy I am trying to make. Having to copy from my other project’s shell.nix/whatever into the new one feels miserable in comparison.

      • Ephera@lemmy.ml
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 days ago

        I do agree, yeah, although I can certainly also understand LISP fans being annoyed that someone created a custom DSL for something that is adequately solved by the LISPs. I’m also certainly not enamored with the Nix syntax myself, but do find it easier to parse than a million parentheses.

        But yeah, ultimately the complexity of Nix and Guix isn’t in the particular symbols you type out. The complexity comes from them being expression-based (which does make sense for the use-case, but isn’t as familiar as e.g. imperative languages), as well as just having to learn tons of modules for the different things you want to configure…