Я використав усі три, тож ось мої $ 0,02.
Я дуже хочу проголосувати за Дуга Шмідта і поважати всю його роботу, але, чесно кажучи, я вважаю ACE м'яким баггі і важким у використанні. Я думаю, що бібліотеці потрібна перезавантаження. Важко сказати це, але поки я уникатиму ACE, якщо немає вагомих причин використовувати TAO, або якщо вам не потрібна одна база коду для запуску C ++ як у варіантах Unix, так і в Windows. TAO є казковим для ряду складних проблем, але крива навчання є напруженою, і є причина, чому CORBA має низку критиків. Думаю, просто виконайте домашнє завдання, перш ніж приймати рішення використовувати будь-яку.
Якщо ви кодуєте на C ++, boost, на мою думку, не вимагає особливих зусиль. Я використовую низку бібліотек низького рівня і вважаю їх важливими. Швидкий grep мого коду виявляє shared_ptr, program_options, regex, bind, серіалізацію, foreach, property_tree, файлову систему, токенізатор, різні розширення ітераторів, alogrithm та mem_fn. Це в основному функціональні можливості низького рівня, які справді повинні бути в компіляторі. Деякі бібліотеки для підвищення обсягу є дуже загальними; це може бути роботою, щоб змусити їх робити те, що ти хочеш, але це варто.
Poco - це колекція класів корисних програм, що забезпечують функціональність для деяких цілком конкретних загальних завдань. Я вважаю, що бібліотеки добре написані та інтуїтивно зрозумілі. Мені не потрібно витрачати багато часу на вивчення документації чи написання безглуздих тестових програм. Зараз я використовую Logger, XML, Zip та Net / SMTP. Я почав використовувати Poco, коли libxml2 мене дратував востаннє. Є інші класи, якими я міг би скористатися, але не пробував, наприклад, Data :: MySQL (я задоволений mysql ++) та Net :: HTTP (я задоволений libCURL). Зрештою я спробую решту Poco, але на даний момент це не є пріоритетом.