this post was submitted on 11 Apr 2024
162 points (95.0% liked)

Linux

48634 readers
1667 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
 

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
[–] [email protected] 29 points 8 months ago (5 children)

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.

[–] [email protected] 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

[–] [email protected] 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

[–] [email protected] 5 points 8 months ago (1 children)

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

[–] [email protected] 25 points 8 months ago (2 children)

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?

[–] [email protected] 11 points 8 months ago (1 children)

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

[–] [email protected] 8 points 8 months ago

and a mobile app sometimes

[–] [email protected] 1 points 8 months ago (1 children)

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

[–] [email protected] 1 points 2 months ago

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

[–] [email protected] 4 points 8 months ago (1 children)

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

[–] [email protected] 8 points 8 months ago

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

[–] [email protected] 4 points 8 months ago (1 children)

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

Dillo is the only tool i know still using FLTK.

[–] [email protected] 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.