Utility Libraries Many utility libraries exist, that could make a programmer's life easier. For C programming, 'glib' and 'gthread' are examples of two such libraries. 'glib' supports various data structures (lists, queues, hashes, etc), portability macros, etc. 'gthread' supports abstractions over threading libraries. C++ programmers will find interest in the ACE library, which supports many abstractions for inter-process communications, sockets programming, multi-threaded and multi-process constructs, etc.