Li ho usati tutti e tre, quindi ecco i miei $ 0,02.
Voglio davvero votare per Doug Schmidt e rispettare tutto il lavoro che ha fatto, ma ad essere sincero trovo ACE leggermente bacato e difficile da usare. Penso che la libreria abbia bisogno di un riavvio. È difficile dirlo, ma per ora eviterei ACE a meno che non ci sia un motivo convincente per usare TAO, o che tu abbia bisogno di una singola base di codice per eseguire C ++ su entrambe le varianti Unix e Windows. TAO è favoloso per una serie di problemi difficili, ma la curva di apprendimento è intensa e c'è una ragione per cui CORBA ha un numero di critici. Immagino che fai i compiti prima di decidere di utilizzare entrambi.
Se stai programmando in C ++, boost è nella mia mente un gioco da ragazzi. Uso numerose librerie di basso livello e le trovo essenziali. Un rapido grep del mio codice rivela shared_ptr, program_options, regex, bind, serialization, foreach, property_tree, filesystem, tokenizer, varie estensioni iteratori, alogrithm e mem_fn. Queste sono per lo più funzionalità di basso livello che dovrebbero davvero essere nel compilatore. Alcune librerie boost sono molto generiche; può essere faticoso convincerli a fare quello che vuoi, ma ne vale la pena.
Poco è una raccolta di classi di utilità che forniscono funzionalità per alcune attività comuni molto concrete. Trovo che le librerie siano ben scritte e intuitive. Non devo dedicare molto tempo allo studio della documentazione o alla scrittura di stupidi programmi di test. Attualmente sto utilizzando Logger, XML, Zip e Net / SMTP. Ho iniziato a usare Poco quando libxml2 mi ha irritato per l'ultima volta. Ci sono altre classi che potrei usare ma non ho provato, ad esempio Data :: MySQL (sono soddisfatto di mysql ++) e Net :: HTTP (sono soddisfatto di libCURL). Alla fine proverò il resto di Poco, ma a questo punto non è una priorità.