GNOME's platform libraries (GTK, gstreamer, libgnome-desktop, librsvg,
etc.) are written in low-level languages like C, C++, and Rust, for
very good historical and technical reasons. And yet, people write
How does this happen? How are vast APIs in C made to work from other
languages without tons of manual work?
This talk will explain GObject Introspection, one of GNOME's hidden
jewels. Over many years we have written what is essentially a
semi-automated annotation system for the low-level C ABI, which makes
it possible for language bindings to be generated mostly
automatically. This talk is not as much about a technology as it is a
story of collective maintenance to produce something wonderful.
|Author(s) Bio||Federico (he/him) is one of the founders of GNOME, and is the current maintainer of librsvg.|
|Level of Difficulty||Beginner|
|Tracks||Application Development and Deployment|