The release of GNOME 3 included more than a visual overhaul. The underlying libraries were partly cleaned up and gained new features.
This is where vala jumps in. Vala is language which tries to support the C# syntax but uses GObject and compiles to C, which then is compiled into binaries using common C compilers.
Also most GNOME related libraries are build using GObject.
This leads us to the situation where you can use a scripting language and have access to a comprehensive stack of libraries regarding the GNOME desktop environment.
- Layout? Glade.
- Style? CSS.
- Library? Vala.