166
submitted 8 months ago by sepulcher@lemmy.ca to c/linux@lemmy.ml

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?

you are viewing a single comment's thread
view the rest of the comments
[-] gnuhaut@lemmy.ml 30 points 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.

[-] lung@lemmy.world 16 points 8 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 6 points 8 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@discuss.tchncs.de 5 points 8 months ago

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

[-] jmbreuer@lemmy.ml 25 points 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?

[-] schnurrito@discuss.tchncs.de 11 points 8 months ago

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

[-] umbrella@lemmy.ml 8 points 8 months ago

and a mobile app sometimes

[-] LeFantome@programming.dev 1 points 8 months ago

Are you aware of macOS? Because it is still built with the same UI tools that you mention.

[-] jmbreuer@lemmy.ml 1 points 1 month ago

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

[-] MonkderDritte@feddit.de 4 points 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.

[-] LeFantome@programming.dev 2 points 8 months ago* (last edited 8 months ago)

NUKE

https://www.foundry.com/products/nuke-family/nuke

Also, while a bit of a surprise, FLTK is migrating to Wayland.

[-] XTL@sopuli.xyz 4 points 8 months ago

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

[-] morrowind@lemmy.ml 8 points 8 months ago

er, do you have an example. This is not a trend I was aware of

this post was submitted on 11 Apr 2024
166 points (95.1% liked)

Linux

48535 readers
1081 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS