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?

  • Björn Tantau@swg-empire.de
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    8 months ago

    Happens all the time on Linux. The current instance would be the shift from X11 to Wayland.

    The first thing I noticed was when the audio system switched from OSS to ALSA.

    • Max-P@lemmy.max-p.me
      link
      fedilink
      arrow-up
      1
      ·
      8 months ago

      And then ALSA to all those barely functional audio daemons to PulseAudio, and then again to PipeWire. That sure one took a few tries to figure out right.

  • MonkderDritte@feddit.de
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    8 months ago

    Alsa > Pulseaudio > Pipewire

    About 20 xdg-open alternatives (which is, btw, just a wrapper around gnome-open, exo-open, etc.)

    My session scripts after a deep dive. Seriously, startxfce4 has workarounds from the 80ies and software rot affected formatting already.

    Turnstile instead elogind (which is bound to systemd releases)

    mingetty, because who uses a modem nowadays?

    • Samueru@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      8 months ago

      About 20 xdg-open alternatives (which is, btw, just a wrapper around gnome-open, exo-open, etc.)

      I use handlr-regex, is it bad? It was the only thing I found that I could use to open certain links on certain web applications (like android does), using exo-open all links just opened on the web browser instead.

      • ECB@feddit.de
        link
        fedilink
        arrow-up
        0
        ·
        8 months ago

        My most recent issue with Bluez is that it’s been very inconsistent about letting me disable auto-switching to HSP/HFP (headset mode) when joining any sort of call.

        It’s working now, but it feels like every few months I need to try a different solution.

  • gnuhaut@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    8 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.

    • MonkderDritte@feddit.de
      link
      fedilink
      arrow-up
      0
      ·
      8 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.

      • Joe Breuer@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        8 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?

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

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

  • d3Xt3r@lemmy.nzM
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    Are there any things in Linux that need to be started over from scratch?

    Yes, Linux itself! (ie the kernel). It would’ve been awesome if Linux were a microkernel, there’s so many advantages to it like security, modularity and resilience.