Ich habe alle drei verwendet, also hier sind meine $ 0,02.
Ich möchte wirklich für Doug Schmidt stimmen und all seine Arbeit respektieren, aber um ehrlich zu sein, finde ich ACE leicht fehlerhaft und schwer zu bedienen. Ich denke, dass die Bibliothek einen Neustart benötigt. Es ist schwer zu sagen, aber ich würde ACE vorerst scheuen, es sei denn, es gibt einen zwingenden Grund, TAO zu verwenden, oder Sie benötigen eine einzige Codebasis, um C ++ sowohl unter Unix-Varianten als auch unter Windows auszuführen. TAO ist fabelhaft für eine Reihe schwieriger Probleme, aber die Lernkurve ist intensiv, und es gibt einen Grund, warum CORBA eine Reihe von Kritikern hat. Ich denke, machen Sie einfach Ihre Hausaufgaben, bevor Sie sich für eine der beiden entscheiden.
Wenn Sie in C ++ programmieren, ist Boost für mich ein Kinderspiel. Ich benutze eine Reihe von Bibliotheken auf niedriger Ebene und finde sie wesentlich. Ein kurzer Blick auf meinen Code zeigt shared_ptr, program_options, regex, bind, serialization, foreach, property_tree, Dateisystem, Tokenizer, verschiedene Iterator-Erweiterungen, Alogrithmus und mem_fn. Dies sind meistens Low-Level-Funktionen, die eigentlich im Compiler vorhanden sein sollten. Einige Boost-Bibliotheken sind sehr allgemein gehalten. Es kann Arbeit sein, sie dazu zu bringen, das zu tun, was Sie wollen, aber es lohnt sich.
Poco ist eine Sammlung von Dienstprogrammklassen, die Funktionen für einige sehr konkrete allgemeine Aufgaben bereitstellen. Ich finde die Bibliotheken gut geschrieben und intuitiv. Ich muss nicht viel Zeit damit verbringen, Dokumentation zu studieren oder alberne Testprogramme zu schreiben. Ich verwende derzeit Logger, XML, Zip und Net / SMTP. Ich habe angefangen, Poco zu verwenden, als libxml2 mich zum letzten Mal irritierte. Es gibt andere Klassen, die ich verwenden könnte, aber noch nicht ausprobiert habe, z. B. Data :: MySQL (ich bin mit mysql ++ zufrieden) und Net :: HTTP (ich bin mit libCURL zufrieden). Ich werde den Rest von Poco irgendwann ausprobieren, aber das hat derzeit keine Priorität.