Enodo, Divide et Impera -- Lucian Radu Teodorescu
How do you untie the knotty problem of complexity? Lucian Radu Teodorescu shows us how to divide and conquer difficult problems.
Enodo, Divide et Impera
By Lucian Radu Teodorescu
From the article:
This article aims to analyse one of the most useful techniques in software engineering: the divide et impera (Divide and Conquer) technique. And maybe the most useful one.
We define the divide et impera method as a way of breaking up a problem into smaller parts and fixing those smaller parts. This applies to recursive functions (where the phrase divide et impera is most often used), but it will also apply to the decomposition of problems. At some point, we will also discuss using abstraction as a way of applying divide et impera. Finally, we will show how to use this technique in our daily engineering activities that are not strictly related to coding.
In this article, we call divide et impera a method of approaching problems that has the following characteristics:
- breaking the problem into sub-problems
- solving the sub-problems independently of each other
- occasionally, an answer to a sub-problem may render solving the rest of the sub-problems unnecessary
- sporadically, a small amount of information passes one sub-problem to another
- combining the results of the sub-problem solutions to form the solution to the initial problem

A new episode of the series about SObjectizer and message passing:
In this blog post, we’ll look at several different view/reference types introduced in Modern C++. The first one is
The Visual C++ team attended CppCon 2023, the largest in-person C++ conference, in Aurora, Colorado from October 2-6th. There were over 700 attendees from the C++ community, and we really enjoyed getting a chance to meet all of you and talk about your unique backgrounds and C++ experiences.
A new episode of the series about SObjectizer and message passing:
In this post we talk about how data structure data layout effects software performance and how, by modifying it, we can speed up the access and modification of the data structure.
A report out from this week's ISO C++ standards committee meeting, which just ended:
Learn how the overload pattern works for
A new episode of the series about SObjectizer and message passing: