I'm a bit new to userland programming - most of my work has been drivers or bootloaders and my experience with user code have generally been harrowing - with the exception of QT.