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
    ·
    3 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

    • @bagder@mastodon.social @Di4na@hachyderm.io
      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
      ·
      3 months ago

      @bagder@mastodon.social 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.

    • Thomas Depierre@hachyderm.io
      link
      fedilink
      arrow-up
      1
      ·
      3 months ago

      @bagder@mastodon.social i mean yes, but at least the compiler is a tool.

      While C and others are uh. Well some are finally realising they have users