Cross-platform C++ libraries for system and network programming

For years, C++ users have complained a lot about lack of libraries to build system and networking applications. Compared to other Object-Oriented languages like Java and C# which enjoy abundant built-in classes and functions in hand, C++ is somewhat awkward. Programmers need to write code from scratch using native system APIs, or look for existing solutions provided by software vendors. Building everything from ground up can be painful if they don't have a firm grasp of OS APIs and the code itself is not portable as well. Given that in mind, some intelligent programmers have written and share their libraries to address the issue.

Adaptive Communication Environment (ACE)

ACE has been around for quite a long period. It was first developed by Douglas C. Schmidt during his graduate work at University of California, Irvine. Based on my experience, the source code itself is kind of old-style C++ with lots of Macros inside. With plenty of classes and modern design patterns incorporated, it is considered to be complex and require a long learning curve to master. But due to its glorious history, ACE supports most operating systems, even those you have never heard of.

Poco C++ Libraries

You may think Poco as a revised version of ACE with much more clean codebase. To certain extent, It covers what ACE covers plus a lot of de-facto standard C/C++ library, say, PCRE, zlib, etc. Poco is well-documented and source code is quite self-explained. I would recommend it for a beginner who wants to try out such a library.

Boost C++ Libraries

Boost is another great library you should never miss out. It has a bunch of useful utility libraries more than you can expect and you will be amazed by the power of C++ templates used in these libraries. In the recent version, it also included a network library called ASIO which is worth to explore. However, when it comes to debugging, the template-based code may not be a pleasure to trace. But if you were a C++ geek, you would love it!