People have been developing serious projects in C for decades, so it clearly works.
For limited and questionable definitions of “works,” yeah. There is a reason C++ is much more popular, and it’s not the exception handling.
It's really not that much different from anything else.
gtk_app_chooser_widget_set_show_recommended
gtk::app::chooser::widget::set_show_recommended
gtk.app.chooser.widget.set_show_recommended
Minimal dependencies is always the answer.
Except it isn't because why would gtk need to prefix their functions and structs with these ugly names? Namespaces is the answer to solving problems arising from a lack of namespaces.