this post was submitted on 27 Nov 2023
83 points (93.7% liked)

Linux

48290 readers
636 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 always see new GTK apps popup on Flathub. I dont really care and think GTK looks fancy, although CSD suck a bit and they waste space and often functionality.

But they work, are solid, and do what they should.

Qt on the other hand may seem more like a complex job to code with. I dont actually think so, but I heard especially writing rust with GTK is way better than with Qt.

I like KDE a lot, and even though I am excited for Cosmic I think Qt is the better toolkit for many things and a lot of time. But Dolphin seems to suffer from memory safety issues all the time, as well as other projects.

Do you have experience in rust, using GTK or Qt? How do they compare?

you are viewing a single comment's thread
view the rest of the comments
[–] teolan@lemmy.world 38 points 1 year ago (1 children)

GTK is in bare C, which is rather easy to interop with Rust. Even if using GLib from Rust is a pain, GTK can and does have decent Rust bindings.

QT on the other hand is C++ with object oriented stuff, and therefore cannot have easy bindings to Rust.

[–] Pantherina@feddit.de 1 points 1 year ago (2 children)

Could you explain C bindings in Rust to a nonprogrammer? Does this mean GTK can't use Rust natively, at least for the interface?

[–] ani@endlesstalk.org 5 points 1 year ago

Bindings are like translations of the relevant C code to Rust so they can use Rust to talk (interop) with the C library instead of having to use C.

Does this mean GTK can’t use Rust natively, at least for the interface?

I never used GTK, but I suppose from this conversation that yes.

Rust can use all basic C data types, but it can't use C++ classes, in any straightforward way at least.