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.
Why Hacker News points people here: Go-to reference in GTK versus Qt debates, valued for a candid account from experienced developers who tried both toolkits.
“One of the best discussions on the subject, made by old hackers, but new guys to GUI programming, who tried both”HN comment, 2014
“One of the best discussions on the subject, made by old hackers, but new guys to GUI programming, who tried both”
Experienced hackers new to GUI work compare both toolkits
Full comment
One of the best discussions on the subject, made by old hackers, but new guys to GUI programming, who tried both: this video
Strongly recommendsmatheusmoreiraMay 2021
“This presentation convinced me”
Convincing case that GTK is mainly a GNOME toolkit
Full comment
> 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.
RecommendstdicolaApr 2015
“There's a fantastic talk from Dirk Hohndel last year about how much pain he's gone through”
Pain of building and publishing a Linux GUI app
Full comment
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?
RecommendsznpyNov 2018
“Thank you for posting this, it's nice to see that someone already had most of my feelings.”
Resonates with commenter's own feelings about GTK
Full comment
> this video Thank you for posting this, it's nice to see that someone already had most of my feelings.
Recommendssimion314Mar 2020
“This video is about the reasons Subsurface (a diving app started by Linus Torvalds) changed from GTK to Qt.”
Reasons Subsurface changed from GTK to Qt
Full comment
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.
Recommendssimion314Nov 2020
“an informative video on GTK and Qt , it explains what issues you can have with GTK”
Issues with GTK and why Subsurface moved to Qt
Full comment
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
Cites ithornetblackJun 2014
“He found it was very good for cross platform work.”
Subsurface maintainer found Qt very good for cross-platform work
Full comment
Reminded me of Subsurface maintainer's talk on Qt: this video He found it was very good for cross platform work.
Cites itskriticos2Jul 2014
“describing the migration motives and process from Gtk+ to Qt for subsurface”
Motives and process of migrating Subsurface from Gtk+ to Qt
Full comment
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
Cites itSammiOct 2014
“Dirk Hohndel explains how the Subsurface team was able to implement a much cleaner and simpler GUI in QT than in GTK”
Subsurface team built a simpler GUI in Qt than GTK
Full comment
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?
Cites itMegaDeKayNov 2014
“Subsurface, a program for divers, was another high-profile switch.”
Subsurface's high-profile switch from GTK to Qt
Full comment
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.
Cites itaksxApr 2016Full comment
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
Cites itonliJul 2017
“No one knows how to use GTK correctly, not even the GTK developers.”
Subsurface moving from GTK to Qt in 2014
Full comment
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 .
Cites itsimion314Nov 2018
Linus porting Subsurface from GTK to Qt
Full comment
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
Cites itjcelerierJul 2019
“yet he went on doing C++ for user-space code”
Linus using C++ for user-space GUI code
Full comment
> 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
Cites iteskaJul 2019
Linus using C++ for GUI code
Full comment
> 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++.
Cites itkbumsikMar 2020
“Here is a talk when Subsurface decided to go Qt from Gtk”
Subsurface's decision to move from Gtk to Qt
Full comment
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
Cites itIntralexicalMay 2024Full comment
> 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 — linklink > 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