I’m looking for a programming language that can help me build a desktop application for Windows, macOS, and Linux that’s not big but not small either. Additionally, I’d like to be able to build a website with the same language. I’ve been considering Ruby, Python, Golang and JavaScript. Python seems to be mainly used for scripting and ai, so I’m not sure if it’s the best fit. JavaScript has a lot of negative opinions surrounding it, while Ruby sounds interesting. Can anyone recommend a language that meets my requirements?

    • sping@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      15
      ·
      edit-2
      5 months ago

      But use type annotations everywhere and make sure your code is always checker clean (with checkin or PR CI hooks). And don’t turn off any lint checks through laziness, e.g. docstring checks. Even for a solo dev it’s always worth having everything typed, checker clean, and docstrings (even if they only effectively say “this thing really is what you’d assume”). It all saves time and effort in the long and even medium term.

      I’ve worked on serious large scale Python projects and frankly it’s been very pleasant and productive, but only with the above conditions.

      • Eager Eagle@lemmy.world
        link
        fedilink
        English
        arrow-up
        10
        ·
        edit-2
        5 months ago

        I’m writing a web app on Python + HTMX. Little to none javascript involved.

        If it’s something simple you can check out FastAPI. For more complicated projects involving data models and relationships, check out Django.

      • Baldur Nil
        link
        fedilink
        arrow-up
        7
        ·
        edit-2
        5 months ago

        So many websites out there are built on Django, Flask, etc. (YouTube must have spent a decade using Python, Instagram, Threads etc. all use Python and optimize as they need).

      • MyNameIsRichard@lemmy.ml
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        5 months ago

        It can do back ends with django and flask but the only choice for front ends is javascript or something like htmx

    • FizzyOrange
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      5 months ago

      Yeah but be prepared for a lot of pain if you want to distribute your app. Python tooling/infra is abysmal.