Gtk to Qt - a strange journey [linux.conf.au 2014]
Konstantin Bläsi5 HN recommenders · recommended in 6 months, 2014-2024
46K views · 12 years ago · talk · dated
Dirk Hohndel explains why the Subsurface dive log project migrated from Gtk to Qt, the obstacles encountered, and advice for other applications frustrated with Gtk. It is a linux.conf.au 2014 talk.
Go-to reference in GTK versus Qt debates, valued for a candid account from experienced developers who tried both toolkits.
45:35[Linux.conf.au 2013] - The real story behind Wayland and X
HackersOnBoard
35K views • 13 years ago
45:35The Real Story Behind Wayland and X - Daniel Stone (linux.conf.au 2013)
Mladen Mijatov
104K views • 13 years ago
1:10:15Tech Talk: Linus Torvalds on git
Google
4.1M views • 19 years ago
41:50Two decades of Git: A conversation with creator Linus Torvalds
GitHub
548K views • 1 year ago
2:26Qt 5 based 3D Wayland compositor
Samuel Rødal
133K views • 14 years ago
9:20GitHub Copilot CRUSHES Leetcode Interview Questions! 😳
DevOps Directive
266K views • 5 years ago
1:07:58Software Art Thou: Glenn Vanderburg - Real Software Engineering
Zendesk
35K views • 8 years ago
1:11:44DebConf 14: QA with Linus Torvalds
Adnan Hodzic
737K views • 12 years ago
45:35The real story behind Wayland and X
Linux.conf.au 2013 -- Canberra, Australia
46K views • 11 years ago
43:28Leaping the chasm from proprietary to open: A survivor's guide
Bryan Cantrill
14K views • 11 years ago
1:39:43[Linux.conf.au 2013] - Git For Ages 4 And Up
HackersOnBoard
208K views • 13 years ago
44:36Hacker Way: Rethinking Web App Development at Facebook
Meta Developers
900K views • 12 years ago
1:25:13The Origins of Linux—Linus Torvalds
Computer History Museum
659K views • 18 years ago
37:34Linux Kernel Development, Greg Kroah-Hartman - Git Merge 2016
GitHub
72K views • 9 years ago
1:03:31Brian Goetz - Stewardship: the Sobering Parts
ClojureTV
39K views • 11 years ago
47:18The Tragedy of systemd
linux.conf.au
1.3M views • 7 years ago
58:11The new Windows subsystem for Linux architecture: a deep dive - BRK3068
Microsoft Developer
188K views • 7 years ago
11:07Linus Torvalds on why desktop Linux sucks
gentooman
2.2M views • 5 years ago
37:49Tudor Gîrba - Moldable development
Curry On!
26K views • 7 years ago
7:42:30XDC 2020 - Day 1 - September 16, 2020
X.Org Foundation
24K views • 6 years ago
17 comments from Hacker News
> That first link especially is hyperbolic disingenuous bad faith nonsense. … I glanced briefly over the other articles and it seems like they're the same utter drivel… …I've explained at length why, and why their UX choices were justified, before… Yep. There we go. Saying anything about GNOME that isn't adoring praise immediately draws out the victim-playing accusations of bad faith, and refusal to engage with the actual problems. How dare anybody scrutinize the way GNOME developers treat and conduct themselves around other people. Nobody can ask GNOME to listen to them, but everybody else must listen to GNOME. There's genuinely something strange going on with the mindset around the whole project; it's like they've actively weeded out anybody with any functioning empathy, self-awareness, or non-zero neuroplasticity… It's not GNOME that's crazy; it's literally everybody else [1][2][3][4][5][6[][7][8][9][10] that's ever tried to work with GNOME! They must be out to get you. --- 1: Solus/Budgie — See second link above. 2: Linux Mint — link link > We want to send a strong signal upstream and towards other projects. We cannot and will not support applications which do not support our users and environments. 3: Transmission — link (Cited in first link, which you dismissed as "Hyperbolic disingenuous bad faith nonsense".) 4: System76 (as villified by GNOME) — link (Mentioned in second link, which again you dismissed as "utterly stupid and wrong" "utter drivel".) 5: SpaceFM
> don't make the mistake of thinking their libraries are meant for others to use I agree. This presentation convinced me: ▶ this video GTK+ is really just a toolkit for GNOME projects. All other users are secondary.
Look at GNOME, notice the giant paddings, title bards see look at the checkboxes,scrollbars etc. Also is not a secret that GNOME developers considered at least touch screens if not tablet when designing the GUI. IMo an informative video on GTK and Qt , it explains what issues you can have with GTK, is about the subsurface application(created by Linus Torwalds that moved to Qt because GTK is bad and even Linus could not get good answers from Red Hat guys) ▶ this video
Because Qt has fantastic documentations and intuitive examples. Gtk is notorious for lacking proper documentations and unstable feature changes. Here is a talk when Subsurface decided to go Qt from Gtk: ▶ this video
Qt has a company behind so is more professional, better documentation, better cross platform support, less bugs. This video ▶ this video is about the reasons Subsurface (a diving app started by Linus Torvalds) changed from GTK to Qt. Things might have improved from GTK I can't tell and also for simpler GUIs GTK might be enough.
> Really depends on what is your definition of "OOP" here I smell a no-true-scotsman incoming.. >> Both Smalltalk and Erlang make use of OOP the way it was originally intended by its inventor, Alan Kay. > ah, the bad definition of OOP then. Message-based OOP is usually considered to be superior to inheritance by even OOP advocates, and even composition-based OOP by many. I don't see your evidence for "bad definition of OOP". >Hint : most C apis that look like > foo* foo_create(void); > int foo_get_bananas(foo ); > void foo_print(foo , int, int); > void foo_free(foo ); > > are OOP, not procedural. They just lack the syntax sugar. Not every API that uses a struct is OOP. If your foos use inheritance, virtual dispatch etc, then yes it's OOP. But usually it's just something like a struct to store state instead of having globals or multiple parameters even. >> Linus Torvalds is widely known for his open criticism of C++ and OOP. > yet he went on doing C++ for user-space code : ▶ this video He's a pragmatist first and foremost, and the GUI libraries he uses (Qt) and the programmers that work on GUI code use C++, he said. I doubt he would write his own GUI framework in C++.
> There’s no objective and open evidence that OOP is better than plain procedural programming. Really depends on what is your definition of "OOP" here > Both Smalltalk and Erlang make use of OOP the way it was originally intended by its inventor, Alan Kay. ah, the bad definition of OOP then. Hint : most C apis that look like foo* foo_create(void); int foo_get_bananas(foo*); void foo_print(foo*, int, int); void foo_free(foo**); are OOP, not procedural. They just lack the syntax sugar. > Linus Torvalds is widely known for his open criticism of C++ and OOP. yet he went on doing C++ for user-space code : ▶ this video > Some might disagree with me, but the truth is that modern OOP has never been properly designed. It never came out of a proper research institution as someone who did a phd in a "proper research institution", that's a completely bullshit criterion. > OOP doesn’t have decades of rigorous scientific research to back it up oh come on link
> ▶ this video Thank you for posting this, it's nice to see that someone already had most of my feelings.
Making simple apps is simple, probably is much harder to do advanced apps Wireshark changed from GTK to Qt link Linus Torwald, a C fan and c++ hater , decided to port from GTK to Qt ▶ this video If you make a simple GUI like for a python script GTK is enough
No one knows how to use GTK correctly, not even the GTK developers. At least that was the situation in 2014 when subsurface moved from GTK to Qt, ▶ this video .
Looks like it's that time of the year again. Yes Linus said that and he was probably [in 2007] C++11 and C++14 have come a long way. also since no one has posted this till now [2014] Gtk to Qt a strange journey ▶ this video
I think this gets to the core of the problem. The API is out there and open, yet no one (or at least not many people) have decided to try and make a nice GUI client for Linux. Perhaps it's not a problem with Google but more a problem with publishing desktop/GUI software for Linux still being a complete pain in 2015. There's a fantastic talk from Dirk Hohndel last year about how much pain he's gone through creating and publishing a dive logging GUI application for Linux: ▶ this video If someone like Dirk, who has access to no less than Linus Torvalds himself, has so much trouble creating a modern GUI app on Linux today then how much luck will anyone else have?
Subsurface, a program for divers, was another high-profile switch. High profile because Linus started it. If he and a bunch of other pretty smart kernel hackers can't figure out GTK, that says something. ▶ this video On a related note, GNU Radio has a foot in both Qt and WxWidgets and intends to focus on Qt going forward.
Counter point: Dirk Hohndel explains how the Subsurface team was able to implement a much cleaner and simpler GUI in QT than in GTK: ▶ this video (I've already posted this link in another comment, but here it is again just for relevance) Maybe people don't make that many complex GUIs in GTK cause it's just too hard?
One of the best discussions on the subject, made by old hackers, but new guys to GUI programming, who tried both: ▶ this video
I just watched this [1] video from Dirk Hohndel describing the migration motives and process from Gtk+ to Qt for subsurface (started by Linus). TLDR: * Qt has a community of people developing applications, has good documentation (precise, good coverage) and people who care * Gtk+ has a bunch of Gnome developers, if you want to develop an application, you're out of luck [1]: ▶ this video
Reminded me of Subsurface maintainer's talk on Qt: ▶ this video He found it was very good for cross platform work.