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

  • Litanys@lem.cochrun.xyz
    link
    fedilink
    English
    arrow-up
    59
    ·
    10 months ago

    Id suggest rust, gets you a step closer to the hardware and a bit of a different paradigm than Java while still feeling high level.

    • pathief@lemmy.worldOP
      link
      fedilink
      arrow-up
      16
      ·
      10 months ago

      Rust is definitely something I’ve been keeping an eye on. The syntax looks a bit scary, to be honest, but looks very versatile.

      • Lupec@lemm.ee
        link
        fedilink
        arrow-up
        22
        ·
        10 months ago

        I’ll second Rust, it’s so fresh and versatile! You can go from super low level stuff all the way to things like web frameworks with WebAssembly and whatnot.

        The memory model is definitely a unique beast but I’ve found it gave me some insight on how it all actually works behind the scenes and I appreciate the strictly enforced correctness too.

      • floofloof@lemmy.ca
        link
        fedilink
        English
        arrow-up
        4
        ·
        10 months ago

        I’m a Rust noob. At first it’s daunting and nothing will compile. But it’s getting easier and I feel like getting over that initial difficulty is mainly a matter of internalizing a few basic rules, after which it feels more natural. So from what I’ve seen so far, I wouldn’t rate Rust as especially difficult. It certainly feels easier than C++.

        For a really challenging language I’d suggest Haskell. That one nearly broke my brain because thinking functionally is really very different if you’re used to more procedural languages. Rust, it seems, teaches you new discipline, but Haskell teaches you a different way of thinking.

        Anyway, that’s how it feels as a relative noob in both.

      • Fal@yiffit.net
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 months ago

        Definitely rust, and definitely use rustrover from jetbrains for an IDE. It’s amazing

      • Ephera@lemmy.ml
        link
        fedilink
        arrow-up
        11
        ·
        10 months ago

        Well, yeah, because doing things with hardware is just always unsafe in that sense, no matter if you’re implementing it in Rust or C or Assembly. As long as you know what you’re doing (and the hardware manufacturer did, too), it’s not actually unsafe.

        Rust just decided to isolate the code parts where you need to be extra smart like that, whereas in C or Assembly, you might need to be extra smart throughout the entire code base.
        Obviously, no sane C programmer would just randomly start scrubbing memory addresses in UI code, but it’s still just helpful to have the naughty code clearly indicated.