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?

  • biribiri11@lemmy.ml
    link
    fedilink
    arrow-up
    30
    ·
    1 year ago

    The entire thing. It needs to be completely rewritten in rust, complete with unit tests and Miri in CI, and converted to a high performance microkernel. Everything evolves into a crab /s

  • LeFantome@programming.dev
    link
    fedilink
    arrow-up
    23
    ·
    1 year ago

    Linux does this all the time.

    ALSA -> Pulse -> Pipewire

    Xorg -> Wayland

    GNOME 2 -> GNOME 3

    Every window manager, compositor, and DE

    GIMP 2 -> GIMP 3

    SysV init -> SystemD

    OpenSSL -> BoringSSL

    Twenty different kinds of package manager

    Many shifts in popular software

    • embed_me@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Aren’t different kinds of package managers required due to the different stability requirements of a distro?

  • nycki@lemmy.world
    link
    fedilink
    arrow-up
    22
    arrow-down
    2
    ·
    edit-2
    1 year ago

    Starting anything from scratch is a huge risk these days. At best you’ll have something like the python 2 -> 3 rewrite overhaul (leaving scraps of legacy code all over the place), at worst you’ll have something like gnome/kde (where the community schisms rather than adopting a new standard). I would say that most of the time, there are only two ways to get a new standard to reach mass adoption.

    1. Retrofit everything. Extend old APIs where possible. Build your new layer on top of https, or javascript, or ascii, or something else that already has widespread adoption. Make a clear upgrade path for old users, but maintain compatibility for as long as possible.

    2. Buy 99% of the market and declare yourself king (cough cough chromium).

  • Hector@lemmy.ca
    link
    fedilink
    arrow-up
    15
    ·
    1 year ago

    Some form of stable, modernized bluetooth stack would be nice. Every other bluetooth update breaks at least one of my devices.

  • gnuhaut@lemmy.ml
    link
    fedilink
    arrow-up
    14
    arrow-down
    2
    ·
    1 year 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
      7
      ·
      1 year 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
      5
      ·
      1 year 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

    • MonkderDritte@feddit.de
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

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

      Dillo is the only tool i know still using FLTK.

  • MonkderDritte@feddit.de
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    1 year 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
      2
      ·
      1 year 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.

  • Hawke@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    1 year ago

    There are many instances like that. Systemd vs system V init, x vs Wayland, ed vs vim, Tex vs latex vs lyx vs context, OpenOffice vs libreoffice.

    Usually someone identifies a problem or a new way of doing things… then a lot of people adapt and some people don’t. Sometimes the new improvement is worse, sometimes it inspires a revival of the old system for the better…

    It’s almost never catastrophic for anyone involved.

  • mlg@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    1 year ago

    Not too relevant for desktop users but NFS.

    No way people are actually setting it up with Kerberos Auth

    • 0x0@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Bluetooth in general is just a mess and it’s sad that there’s no cross-platform sdk written in C for using it.

  • SleveMcDichael@programming.dev
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    3
    ·
    edit-2
    1 year ago

    Not really software but, personally I think the FHS could do with replacing. It feels like its got a lot of historical baggage tacked on that it could really do with shedding.