Reflecting to (but not joining) the annual geda-user language/libs debate, the policy of pcb-rnd (and sch-rnd and camv-rnd) on this:

The above set of rules is crafted so that compiling core functionality is easy and excess external libs (gtk, glib) are needed only for optional features (such as the gtk hid in pcb-rnd). However, it's equally important not to restrict users in optional extras that may require more dependencies. This is solved by minimizing core and moving functionality behind APIs in a plugin system.

This policy is very unlikely to change in the future - if you believe the core should be rewritten in your favorite language, please fork the project or start a new one.