The current JPEG XL decoder in #Firefox apparently consists more than 100,000 lines of multi-threaded C++

For just decoding an image format.

Not sure what it says about the format, the implementation and the Internet at large.

https://github.com/mozilla/standards-positions/pull/1064

  • daniel:// stenberg://@mastodon.socialOP
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    @Di4na possibly: I believe Rust is generally a good thing for most things, but I believe the Rust ecosystem with cargo and bazillions of always-updatiing tiny dependencies risk adding friction and at least complicates the equation quite a lot

    • @[email protected] @[email protected]
      I’m not sure it is a tooling issue. I find cargo to be a great tool, and it have a lock file to let you update deps in a controlled fashion.
      I think this comes down to a cultural issue, where the rust community, much like the JS community, put every little utility function in it’s own library. Hence, you tend to get a gazillion small dependencies that is hard to keep track of.

    • mort@fosstodon.org
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      @[email protected] This is my biggest worry too: they essentially copied the NPM package management model and practices. Good for short term productivity, but I worry that it causes significant long-term maintainability problems.

      And everything is version 0.x, in part due to technical limitations of Cargo: moving out of 0.x is a breaking change, so if you have users on 0.x (which Cargo encourages by treating 0.x specially) moving out of 0.x breaks them.