I’m curious how software can be created and evolve over time. I’m afraid that at some point, we’ll realize there are issues with the software we’re using that can only be remedied by massive changes or a complete rewrite.

Are there any instances of this happening? Where something is designed with a flaw that doesn’t get realized until much later, necessitating scrapping the whole thing and starting from scratch?

  • gnuhaut@lemmy.ml
    link
    fedilink
    arrow-up
    32
    arrow-down
    2
    ·
    7 months ago

    GUI toolkits like Qt and Gtk. I can’t tell you how to do it better, but something is definitely wrong with the standard class hierarchy framework model these things adhere to. Someday someone will figure out a better way to write GUIs (or maybe that already exists and I’m unaware) and that new approach will take over eventually, and all the GUI toolkits will have to be scrapped or rewritten completely.

    • Lung@lemmy.world
      link
      fedilink
      arrow-up
      16
      ·
      7 months ago

      Idk man, I’ve used a lot of UI toolkits, and I don’t really see anything wrong with GTK (though they do basically rewrite it from scratch every few years it seems…)

      The only thing that comes to mind is the React-ish world of UI systems, where model-view-controller patterns are more obvious to use. I.e. a concept of state where the UI automatically re-renders based on the data backing it

      But generally, GTK is a joy, and imo the world of HTML has long been trying to catch up to it. It’s only kinda recently that we got flexbox, and that was always how GTK layouts were. The tooling, design guidelines, and visual editors have been great for a long time

    • KindaABigDyl@programming.dev
      link
      fedilink
      arrow-up
      6
      ·
      7 months ago

      I’ve really fallen in love with the Iced framework lately. It just clicks.

      A modified version of it is what System76 is using for the new COSMIC DE

    • schnurrito
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      7 months ago

      Desktop apps nowadays are mostly written in HTML with Electron anyway.

      • Joe Breuer@lemmy.ml
        link
        fedilink
        arrow-up
        25
        ·
        7 months ago

        Which - in my considered opinion - makes them so much worse.

        Is it because writing native UI on all current systems I’m aware of is still worse than in the times of NeXTStep with Interface Builder, Objective C, and their class libraries?

        And/or is it because it allows (perceived) lower-cost “web developers” to be tasked with “native” client UI?

        • schnurrito
          link
          fedilink
          arrow-up
          11
          ·
          7 months ago

          Probably mainly a matter of saving costs, you get a web interface and a standalone app from one codebase.

          • Joe Breuer@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            1 month ago

            Aware, yes. Interested, no - closed source philosophy, and the way Apple implements it specifically, turn me off hard.

    • MonkderDritte@feddit.de
      link
      fedilink
      arrow-up
      4
      ·
      7 months ago

      and all the GUI toolkits will have to be scrapped or rewritten completely

      Dillo is the only tool i know still using FLTK.

    • XTL@sopuli.xyz
      link
      fedilink
      arrow-up
      6
      arrow-down
      2
      ·
      7 months ago

      Newer toolkits all seem to be going immediate mode. Which I kind of hate as an idea personally.