Я использовал все три, так что вот мои 0,02 доллара.
Я действительно хочу проголосовать за Дуга Шмидта и уважать всю проделанную им работу, но, честно говоря, я нахожу ACE слегка глючной и сложной в использовании. Думаю, этой библиотеке нужна перезагрузка. Трудно сказать это, но я бы пока уклонился от ACE, если нет веских причин для использования TAO или вам не нужна единая база кода для запуска C ++ как в вариантах Unix, так и в Windows. TAO отлично подходит для решения ряда сложных проблем, но процесс обучения требует значительных усилий, и есть причина, по которой CORBA вызывает ряд критиков. Я думаю, просто сделайте свою домашнюю работу, прежде чем принимать решение о том, что использовать.
Если вы пишете код на C ++, мне кажется, что Boost - это не проблема. Я использую ряд низкоуровневых библиотек и считаю их необходимыми. Быстрый grep моего кода показывает shared_ptr, program_options, regex, bind, serialization, foreach, property_tree, filesystem, tokenizer, различные расширения итератора, alogrithm и mem_fn. В основном это низкоуровневые функции, которые действительно должны быть в компиляторе. Некоторые библиотеки ускорения носят очень общий характер; заставить их делать то, что вы хотите, может быть трудом, но это того стоит.
Poco - это набор служебных классов, которые обеспечивают функциональность для некоторых очень конкретных общих задач. Я считаю, что библиотеки хорошо написаны и интуитивно понятны. Мне не нужно тратить много времени на изучение документации или написание глупых тестовых программ. В настоящее время я использую Logger, XML, Zip и Net / SMTP. Я начал использовать Poco, когда libxml2 меня в последний раз раздражала. Есть и другие классы, которые я мог бы использовать, но не пробовал, например Data :: MySQL (мне нравится mysql ++) и Net :: HTTP (мне нравится libCURL). В конце концов, я попробую остальную часть Poco, но на данный момент это не является приоритетом.