I’ve been working with a Javascript (+ TypeScript) + Java + SQL stack for the last 10 years.

For 2024 I’d like to learn a new programming language, just for fun. I don’t have any particular goals in mind, I just want to learn something new. If I can use it later professionally that’d be cool, but if not that’s okay too.

Requirements:

  • Runs on linux
  • Not interested in languages created by Google or Apple
  • No “joke languages”, please

Thank you very much!

EDIT: I ended up ordering the paperback version of the Rust book. Maybe one day I’ll contribute to the Lemmy code base or something :P Thank you all for the replies!!!

  • losttourist
    link
    fedilink
    1211 months ago

    Give Clojure a go.

    It’s a modern variant of lisp that runs on the JVM and has deep interoperability with Java, so you can leverage your existing knowledge of Java libraries.

    But as it’s a lisp, it will have you thinking about problems in a very different way.

    • @abbadon420@lemm.ee
      link
      fedilink
      311 months ago

      Can you name any real world usages for Clojure? I did some lisp once when I was a sprout and loved it, would be awesome to do it on the jvm now that I work with java every day.

      • losttourist
        link
        fedilink
        211 months ago

        It’s a very flexible language so can find a niche almost anywhere. I know of fintech companies that use it extensively for their back end data processing systems, and I’ve seen some really interesting stuff done with Clojure and Apache Kafka. They’re a good fit for each other - Clojure, as a lisp, is optimised for processing infinite lists of things and Kafka topics can be easily conceptualised as an infinite stream of data.

        Also, when combined with Clojurescript, it provides a single language that can be used full-stack, so could drop in anywhere that you might otherwise use Node.

        But I think one of the best things about it is the way it forces you to re-evaluate your approach to development. It’s a completely functional language so you have to throw away any preconceptions about OO and finding new ways to resolve old problems is one of the things that should be a joy for most developers, even if it has no practical application.

      • @maksut@programming.dev
        link
        fedilink
        111 months ago

        IMHO it would fit use cases of java, mostly long running services. But it is a hosted language with different implementations on top of javascript, .net etc. So it might branch out other use cases like frontend dev. It has a small but active community. Although it might be most popular lisp nowadays.

        If you are not familiar with lisp and aim is having fun while learning new things then clojure will fit nicely. It is so joyful once you get the initial weirdness because it will feel different. You just fire up a REPL, leave it running in background, hook your ide/editor to it and start sending evals. The application grows while it is running. I find the workflow quiet enjoyable.