Speaker
Description
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
applications for GNOME in languages like Python and Javascript all the
time.
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.
Tracks | Application Development and Deployment |
---|---|
Level of Difficulty | Beginner |
Author(s) Bio | Federico (he/him) is one of the founders of GNOME, and is the current maintainer of librsvg. |