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);
    link
    fedilink
    13
    edit-2
    6 months 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.

    • ☆ Yσɠƚԋσʂ ☆
      link
      fedilink
      16 months 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.

    • @[email protected]
      link
      fedilink
      76 months 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.

      • setVeryLoud(true);
        link
        fedilink
        26 months ago

        True, I didn’t structure my sentence correctly.

        It gets to compete with Java and Python because it’s also JIT is what I meant to say.

    • AatubeOP
      link
      fedilink
      96 months 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…

        • @[email protected]
          link
          fedilink
          English
          9
          edit-2
          6 months 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.

          • setVeryLoud(true);
            link
            fedilink
            3
            edit-2
            6 months ago

            Absolutely, it’s just one aspect of it, benchmarks are always narrow in scope. Some languages may be good at some things and worse at others.

  • @[email protected]
    link
    fedilink
    86 months ago

    Wikidata is so cool, but not really public-exposed. I imagine it’s an incredible research tool though.

    • AatubeOP
      link
      fedilink
      46 months 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)

      • @[email protected]
        link
        fedilink
        26 months 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.

        • AatubeOP
          link
          fedilink
          26 months ago

          It’s quite independent from Wikidata. It’s an alpha-stage programming functions repository.