According to published statistics on GNOME programming languages used in GNOME and applications for GNOME, the project consists of 6.7 million lines of code. Within this total, 1.6 million lines are dedicated to applications, while 5.1 million lines are allocated to libraries and GNOME core components.
- The GNOME libraries primarily utilize the C language, with more than 2/3 of the lines of code for GNOME core components written in C. Major components written in C include GTK (820 thousand lines), GLib (560 thousand lines), and Mutter (390 thousand lines).
- Approximately 523 thousand lines of code in GNOME are written in Rust, with around 400 thousand lines used in bindings for base libraries, mostly auto-generated. Notable Rust libraries in GNOME are Librsvg and glycin.
- Vala language code accounts for about 190 thousand lines in GNOME, with around 100 thousand lines present in the Vala repository.
- There are 242 thousand lines of code in Python within GNOME, with 110 thousand of those lines in the Orca application.
- 106 thousand lines of code in GNOME are written in JavaScript, with 65 thousand lines in GNOME Shell, representing approximately half of all GNOME Shell code.
Distribution of programming languages used in GNOME libraries and components can be seen in the image below:

When looking at basic applications for GNOME, 44.8% of the code is in C, 20.7% in Vala, 10.3% in Rust, 6.9% in Python, 13.8% in JavaScript, and 3.45% in C++. The distribution of programming languages in these applications can be visualized in the following image:
/Reports, release notes, official announcements.