No single programming style is good for everyone. There is always a trade-off between genericity, tunability, speed and productivity. Into doesn't force you into a predefined programming model. Instead, it provides four different programming layers:
This is where friends of stl and boost should find home. The lowest level of Into builds on templates, generic algorithms and iterators. The design allows programmers to choose between static and dynamic polymorphism, and to build algorithms that the compiler can optimize to the last bit. Thresholding an image, finding connected components, and discarding too small ones is just one function call. No temporaries involved.
Into builds on Qt and provides a Qt-like API with traditional function calls. All the power of low-level programming is still at your hand, but you don't need to bother of the details. Memory management is made easy with reference-counted types, and signals and slots can be used to connect natively to Qt-based user interfaces.
With traditional function call based APIs you first read an image with a function and then implement the necessary image processing operations in a sequence. Once the first image is done, you loop back and read the next one. Easy to code, but not too efficient. In Into, you are no longer required to do this. Instead, you describe the analysis configuration with operations that are connected to each other using sockets. It is like creating a schematic diagram. Ydin, the execution engine then runs the operations in parallel. The second image can be read while you are still analyzing the first one. No extra programming effort needed. Oh, and it is possible to distribute the load across networked computers.
Building the analysis configuration in C++ is easy, but it still requires compiling and linking every time you change the code. Setting up the development environment is something you need to do only once, but wouldn't you like to avoid it altogether? Well, it is possible with the JavaScript API. No recompilations needed, ever. The best part? Once you have set up the configuration, there is no run-time performance penalty compared to a C++ version. Into JavaScript API can even be used from QML.