• ☆ Yσɠƚԋσʂ ☆@lemmy.mlOP
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    3 years ago

    I agree that lines of code is not the only metric to be considered. I agree with your post that a good language should be both simple and expressive. Ideally, you have a small and consistent syntax with a few general concepts that can be applied to a wide range of problems. For me, Clojure hits the sweet spot. I wrote in more detail about why that is here.

    • Sagar Acharya@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      3 years ago

      Very interesting.

      The issue I find with Clojure is it’s link to JVM.

      VMs are always mostly controlled by the data centre hardware which hosts it. I don’t find it secure. Ideally, I think C without pointers and an import system like python would be best. I guess Go is it but Go doesn’t have good compilers. gccgo is gigantic. In my view, C without pointers with python like import system with a compiler like tcc would be best. All modules should be present as packages of OS rather than pip so that all trust is given to OS instead of repos which anyone can insert malware in.

      Clojure is incredible. But something like tcc should be made straight from clojure to binary. JVM is absolutely unacceptable!

      • ☆ Yσɠƚԋσʂ ☆@lemmy.mlOP
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        3 years ago

        First of all, JVM runs perfectly fine on a local machine and in many cases it can even beat C for raw performance thanks to its JIT. It has a heavier memory footprint, but that’s not a huge issue for a lot of use cases. However, it’s possible to run Clojure without the JVM nowadays. Babashka which is a native binary compiled with GraalVM and ClojureScript that targets Js runtimes. There is also Janet which is a Clojure inspired language that’s tiny and embedable.