this post was submitted on 24 Nov 2023
493 points (98.2% liked)
Linux
48099 readers
741 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The GTK3 port has been in the making for a very long time. Long before anyone even mentioned GTK4. Porting an application to a different GUI toolkit is a lot of work.
And it shouldn't be. Sure, there are some new features you may want to take advantage of, but it's lamentable that GTK doesn't try harder to maintain backwards compatability.
You know who does major version changes well? Go. Excellent backwards compatible over a decade of very active development, and when there are recommended or required changes, the compiler provides tooling to update source code to the new API.
GTK2->GTK3 was a major leap. For something like a GUI toolkit, changes and advancements are inevitable. A GTK4 port would be much less difficult, as the developer-facing changes are an order of magnitude smaller.
According to the GTK team, trying to maintain backwards compatibility dragged the whole project down. I agree that a basics' automatic porting tool would've been nice.
Yes, it shouldn't. Unfortunately, the developers of GTK thrived on changes to the API during the GTK3 era. I don't know why Go devs don't (and I am indeed very glad that they don't). Perhaps it's because of the different structures of the development teams or perhaps because GTK has more hazy goals. 🤷♂️