J'ai utilisé les trois, alors voici mon point de vue.
J'ai vraiment envie de voter pour Doug Schmidt et je respecte tout le travail qu'il a fait, mais pour être honnête, je trouve ACE légèrement bogué et difficile à utiliser. Je pense que cette bibliothèque a besoin d'un reboot. C'est difficile à dire, mais je m'éloignerais d'ACE pour le moment, à moins qu'il n'y ait une raison impérieuse d'utiliser TAO, ou que vous ayez besoin d'une base de code unique pour faire tourner C++ sur les variantes Unix et Windows. TAO est fabuleux pour un certain nombre de problèmes difficiles, mais la courbe d'apprentissage est intense, et il y a une raison pour laquelle CORBA a un certain nombre de critiques. Je pense qu'il faut faire ses devoirs avant de prendre la décision d'utiliser l'un ou l'autre.
Si vous codez en C++, Boost est à mon avis une évidence. J'utilise un certain nombre de bibliothèques de bas niveau et je les trouve essentielles. Une recherche rapide dans mon code révèle shared_ptr, program_options, regex, bind, serialization, foreach, property_tree, filesystem, tokenizer, diverses extensions d'itérateurs, alogrithm, et mem_fn. Il s'agit principalement de fonctionnalités de bas niveau qui devraient vraiment se trouver dans le compilateur. Certaines bibliothèques boost sont très génériques ; il peut être difficile de leur faire faire ce que vous voulez, mais cela en vaut la peine.
Poco est une collection de classes utilitaires qui fournissent des fonctionnalités pour certaines tâches communes très concrètes. Je trouve que les bibliothèques sont bien écrites et intuitives. Je n'ai pas besoin de passer beaucoup de temps à étudier la documentation ou à écrire des programmes de test stupides. J'utilise actuellement Logger, XML, Zip, et Net/SMTP. J'ai commencé à utiliser Poco lorsque libxml2 m'a irrité pour la dernière fois. Il y a d'autres classes que je pourrais utiliser mais que je n'ai pas essayées, par exemple Data::MySQL (je suis heureux avec mysql++) et Net::HTTP (je suis heureux avec libCURL). J'essaierai le reste de Poco éventuellement, mais ce n'est pas une priorité pour le moment.
3 votes
ACE est le "couteau suisse ultime de la programmation réseau" pour la programmation C++, mais la dernière fois que j'ai vérifié, c'était aussi un énorme monstre dépendant en soi.