• stevecrox@kbin.social
    link
    fedilink
    arrow-up
    6
    ·
    1 year ago

    It was an incredibly poor technical choice.

    Programming goes through fads where people will claim X can solve every problem. Eventually people realise a languages strengths/weaknesses and communities form.

    Rust is the current fad language, its developed a strong following in C/C++ communities but they have nothing to do with middleware (the role Lemmy is using Rust).

    It means lemmy devs will have to build everything themselves (instead of focussing on lemmy) and the pool of contributor’s will remain small.

    • The Quuuuuill@slrpnk.net
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      Rust is a great and fabulous language, but flexible it is not. If I were starting a Lemmy or Kbin type project from scratch I’d likely start with Python, TypeScript, Lua, or Go depending on what specifically I was worried about bogging me down in the future. And then later on if there were really heavy procedures or db calls that couldn’t be simplified anyway else, do those in rust. I think Rust has some very interesting features for micro service development, but for a monolith like Lemmy, it’s surely a nightmare

      • stevecrox@kbin.social
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        See my goto is Java/Spring Boot or Typescript/TSOA.

        I avoid Python because Setuptools/Twine/FastAPI/\ docs conflict and seems to change so creating a good practice project layout is a huge time sink and none of the Python devs I meet seem to understand it.

        I am doing GoLang atm, its ok but dev adoption is low where I am and no one has shown me a killer library/framework and being controlled by Google I am waiting for them to get bored and kill it.

        Spring Boot takes longer to get going than TSOA/Express but hibernate makes SQL interactions trivial. I love typescript but types makes complex NoSQL queries far more convoluted than Java equivalents (its because Types can’t inherit and client libraries don’t use interfaces). So TSOA rocks in cases of speed or simplicity.