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

    • xia@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      11 months ago

      IMO Zig obsoletes C in the way that go and rust tried to do. Personally, I would advise anyone to not learn C; or even start a new project in C, for that matter.

  • Litanys@lem.cochrun.xyz
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 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
      0
      ·
      11 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.

      • Fal@yiffit.net
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        11 months ago

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

  • Kissaki@feddit.de
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    11 months ago

    Alternatives

    • C#, because it’s good
    • Rust, because it’s different
    • a (purely) functional language, because it’s different
    • Nushell, nice shell, and great for scripted data processing
  • BiggestBulb@kbin.run
    link
    fedilink
    arrow-up
    0
    ·
    11 months ago

    I see you mentioned JS, but not TS. If you haven’t tried TypeScript, you 100% should! It helps a lot at scale.

    Also, I really do recommend Rust. It’s pretty awesome having the errors actually make sense, and it’s not as complicated as the hype makes it out to be (until you get into async rust lol).

    As others have mentioned, C# is also awesome.

    • pathief@lemmy.worldOP
      link
      fedilink
      arrow-up
      0
      ·
      11 months ago

      We do use TS as well, yes!

      Rust is definitely a language I’m considering. Syntax looks a bit scary, though!

      • Fal@yiffit.net
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        11 months ago

        Rust syntax is totally fine really. It often feels like writing python

  • Bezier@suppo.fi
    link
    fedilink
    arrow-up
    0
    ·
    11 months ago

    As the other person said, Python. Or if you want something lower level, how about Rust?

      • xmunk@sh.itjust.works
        link
        fedilink
        arrow-up
        0
        ·
        11 months ago

        I know it’s fashionable to shit on PHP but it’s significantly better than it once was… it’s honestly like a cleaner python that lets you use brackets.

        • scorpionix@feddit.de
          link
          fedilink
          arrow-up
          0
          ·
          11 months ago

          Sure, could be/was a lot worse than today. Still, PHP gives one way too much rope to hang themselves with.

      • Rikudou_Sage@lemmings.world
        link
        fedilink
        arrow-up
        0
        ·
        11 months ago

        As a php dev who actually writes clean code and doesn’t blame people writing shitty code on a language: don’t listen to this fella.

        • scorpionix@feddit.de
          link
          fedilink
          arrow-up
          0
          ·
          11 months ago

          As a php dev who actually writes clean code while cleaning up after other people because Getting things done is more important: Don’t give people the tools to write shitty code.

        • scorpionix@feddit.de
          link
          fedilink
          arrow-up
          0
          ·
          11 months ago

          My team is currently exploring rust as an alternative because we have to do a lot of api calls and data crunching real fast. So rust?

  • AlmightySnoo 🐢🇮🇱🇺🇦@lemmy.world
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    edit-2
    11 months ago

    Since you already know Java, you could jump straight to C++ with Bjarne’s book “Programming - Principles and Practice Using C++”: https://www.stroustrup.com/programming.html

    You can then move to more modern C++ with his other book “A Tour of C++”: https://www.stroustrup.com/tour3.html

    And then if you’re curious to know how software design is done in modern C++, even if you already know classical design patterns from your Java experience, you should get Klaus Iglberger’s book: https://www.oreilly.com/library/view/c-software-design/9781098113155/

    In parallel also watch the “Back to Basics” video series by CppCon (see their YouTube channel: https://www.youtube.com/@CppCon , just type “back to basics” in that channel’s search bar).

    Learning proper C++ should give you a much better understanding of the hardware while the syntax still remains elegant, and you get to add a new skill that’s in very high demand.