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
      ·
      1 year 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.

  • bungle_in_the_jungle@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Python seems to be a staple for as long as I can remember and it looks like it’s still gonna be going strong for a good while yet!

    I’m thinking of taking the dive and finally learning it myself soon.

    • NotNotMike@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Python is especially great for quick scripts or PoCs. I’ve been using it a lot lately to prototype some things and it just makes it a breeze

      Main complaint is the snake_casing convention. By far my least favorite

      • GBU_28@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Hah I love snake case.

        I also love python for distributed micro tasks and data pipelining

        • anti-idpol action@programming.dev
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          I am the only person that feels like snake casing belongs in declarative stuff, data serialization etc. (SQL, protobuf, JSON, YAML…) while camel case elsewhere?

          • GBU_28@lemm.ee
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            I don’t hold any of that, I just find it the most readable for me.

  • AlmightySnoo 🐢🇮🇱🇺🇦@lemmy.world
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    edit-2
    1 year 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.