Skip to content
Josh Blum edited this page May 26, 2014 · 6 revisions

Coding is easier.

Pothos makes extensive use of the auto keyword and the ranged for loop to keep lines of code short and to the point. This is as much of a benefit to the author as is it to users creating custom blocks in C++.

STL is more complete.

Pothos uses the threads, mutexes, shared pointers, function pointers, bind, etc, that come with C++11. Therefore there is no need to require additional dependencies like boost; these extremely useful features come with the language.

Move semantics.

Move semantics are a new language feature that avoids unnecessary copying. Not only does this subtlety speed up the STL implementation, but Pothos Object and Proxy classes take full advantage of move semantics where possible.

Widely available.

The compilers that work with all major operating systems support C++11 now; Clang, GCC, MSVC. However, the requirement of C++11 does prohibit the use of some older OSs and compilers. Fortunately, as Pothos reaches completion, this will become even less of a problem.

Poco is the C++ swiss army knife/utility kit. C++ doesn't come with an army of built-in libraries like .NET, Java, or Python. So for this we use Poco:

  • Poco is easy to build
  • The API is clean and easy to understand
  • Poco has an extremely nice logging API
  • We also use Poco for:
    • Command line parser
    • Config file parser
    • JSON de/serialization
    • URI parser/formatter
    • Socket and IPv6 support

Clone this wiki locally