It is strange to use lightdm and gdm as examples, which are both written in C (if nothing has changed recently).