Tôi đã sử dụng cả ba nên đây là 0,02 đô la của tôi.
Tôi thực sự muốn bỏ phiếu cho Doug Schmidt và tôn trọng tất cả công việc mà anh ấy đã hoàn thành, nhưng thành thật mà nói, tôi thấy ACE hơi lỗi và khó sử dụng. Tôi nghĩ rằng thư viện cần khởi động lại. Thật khó để nói điều này, nhưng tôi muốn tránh xa ACE ngay bây giờ trừ khi có lý do thuyết phục để sử dụng TAO hoặc bạn cần một cơ sở mã duy nhất để chạy C ++ trên cả hai biến thể Unix và Windows. TAO là tuyệt vời cho một số vấn đề khó khăn, nhưng đường cong học tập rất khốc liệt, và có một lý do tại sao CORBA có một số nhà phê bình. Tôi đoán chỉ cần làm bài tập về nhà của bạn trước khi đưa ra quyết định sử dụng.
Nếu bạn đang viết mã bằng C ++, tôi nghĩ rằng boost là điều không cần phải bàn cãi. Tôi sử dụng một số thư viện cấp thấp và thấy chúng rất cần thiết. Một đoạn mã nhanh của tôi cho thấy shared_ptr, program_options, regex, bind, serialization, foreach, property_tree, filesystem, tokenizer, các phần mở rộng vòng lặp khác nhau, alogrithm và mem_fn. Đây hầu hết là các chức năng cấp thấp thực sự cần có trong trình biên dịch. Một số thư viện boost rất chung chung; nó có thể là công việc để khiến họ làm những gì bạn muốn, nhưng nó đáng giá.
Poco là một tập hợp các lớp tiện ích cung cấp chức năng cho một số tác vụ chung rất cụ thể. Tôi thấy các thư viện được viết tốt và trực quan. Tôi không phải mất nhiều thời gian nghiên cứu tài liệu hoặc viết các chương trình kiểm tra ngớ ngẩn. Tôi hiện đang sử dụng Logger, XML, Zip và Net / SMTP. Tôi bắt đầu sử dụng Poco khi libxml2 làm tôi khó chịu lần cuối. Có những lớp khác tôi có thể sử dụng nhưng chưa thử, ví dụ: Data :: MySQL (tôi hài lòng với mysql ++) và Net :: HTTP (tôi hài lòng với libCURL). Cuối cùng tôi sẽ thử phần còn lại của Poco, nhưng đó không phải là ưu tiên tại thời điểm này.