The Abstract Wikipedia team is working toward a rewrite of our backend services in a different programming language, likely Rust. Node/JS has served us well, but we have run up against some [WebAssembly System Interface] limits that would be best dealt with by switching to a different ecosystem.

  • setVeryLoud(true);@lemmy.ca
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    13 days ago

    Node.js is really not a bad backend language, since it’s JIT, it’s actually faster than Python and Java in most cases.

    Rust will definitely have the advantage of being a compiled language though.

    Source: I write both Java and TS backend code, have done benchmarks.

    • 4z01235@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      13 days ago

      since it’s JIT, it’s actually faster than Python and Java in most cases.

      Java is JIT’d too, and Python can be depending on which runtime you deploy.

    • Aatube@kbin.melroy.orgOP
      link
      fedilink
      arrow-up
      1
      ·
      13 days ago

      Somehow, it feels horrifying to use something that high-level for the backend, especially when MediaWiki has so much PHP and the WMF has so many PHP programmers. Maybe my adolescent arse is getting old…

        • elrik@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          13 days ago

          Calculating the digits of pi seems like a poor benchmark for comparing various languages in the context of backend web application performance. Even the GitHub readme points out the benchmark is entirely focused on floating point performance.

    • ☆ Yσɠƚԋσʂ ☆@lemmy.ml
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      12 days ago

      Node.js is a runtime, you can compile a number of languages to it. It’s useful because it can have relatively low resource usage and there are a lot of libraries available for it.

    • Aatube@kbin.melroy.orgOP
      link
      fedilink
      arrow-up
      0
      ·
      13 days ago

      Wikifunctions finally exposed running functions via API in March, though yeah, it’s still a long, long way from being integrated in wikis, not to mention the arcane parameter that is passing a JSON via URL. (and hopefully you meant Wikifunctions and not Wikidata lol)

      • IrritableOcelot@beehaw.org
        link
        fedilink
        arrow-up
        2
        ·
        12 days ago

        Oh I understood wikifunctions primarily as a way to operate on wikidata data, I don’t know if that’s right. And you’re right it is publically available, I guess I meant more that few few folks know about it.