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!!!

  • matcha_addict
    link
    fedilink
    arrow-up
    27
    arrow-down
    2
    ·
    edit-2
    10 months ago

    I have a couple of suggestions based on what you want!

    Ocaml: A good intro into functional programming

    The languages you’ve used seem to be primarily imperative style. Ocaml is not commonly used in the industry (with some exceptions), but it has a vibrant small community, and more importantly, because it’s a functional language, it will be different enough from what you know. Even if you don’t use it in industry, it will teach you a lot that would be hard to learn using non-functional languages.

    Ocaml is a compiled language, with a very fast compiler and very good type system.

    Scala: the only semi-mainstream language that blends OOP and proper functional programming well.

    Although scala is mostly a functional language, it still has most of the gestures of imperative OOP languages like Java. It is also far more mainstream than ocaml and has used in industry.

    Scala also runs in JVM like Java, and thus gives you access to most JVM libraries.

    Rust

    Intro into low level programming Other answers spoke enough about Rust so I won’t dive here

    Zig

    similar to Rust in low-levelness, but less mainstream, better C interop, and other interesting differences

    Raku: the result of 15 years of programming language design

    Raku, formerly perl 6, was almost redesigned from the ground up to resolve complaints of perl 5. It has a very interesting design, with a gradual type system, a blend of functional and OOP paradigms, plus interesting syntax features like sigils and grammars.

    There are many interesting languages out there. I could talk forever about this, but I’ll leave you with the above. I personally would recommend ocaml if you’re interested in functional programming or care about performance. Otherwise, Raku, since its very interesting but doesn’t perform well (Raku’s VM is still immature and under development).

    • YIj54yALOJxEsY20eU@lemm.ee
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      10 months ago

      Ocaml is going to be my next learn for fun language forsure! I’m getting sucked into the functional paradigm hole. The option/result types in rust have made working in languages without them much worse.

      • matcha_addict
        link
        fedilink
        arrow-up
        2
        ·
        10 months ago

        I tried to give OP languages that would be reasonably different from what they know already, so that its more fun (imo).

        However I didn’t know of ReScript, so I gotta check it out.

    • msage@programming.dev
      link
      fedilink
      arrow-up
      1
      arrow-down
      4
      ·
      10 months ago

      I’m sorry, but as someone who was paid for Perl 5, I have trouble seeing the appeal for Raku.

      The first thing they should have done was nuke Perl from the orbit. Instead they built on top of the magic variable hell.

      So no thanks. PHP is much better.