“Keep it Simple” Concept makes C++ much easier
When the languages like Java or C# were used by companies, a language like C++ became for many developers and mangers very complex and expert friendly.
The history of computer engineering can maybe explains this C++ opinion:
Before internet explosion in 1990s, developing with C++ was very difficult due to the lack of technical documentation and feedbacks to resolve easily technical problems, and the team focus more on technical layer, in this period we can understand why the managers followed the technical approach and they looked for a C++ technical guru to join the development Team.
After internet explosion we can found many C++ documentation and also feedback for technical layer problems, but unfortunately the vision was not changed, and new developers spend lot of time searching for technical tips and tricks.
The good way is to focus more time in the business layer which is the added value of a project and a technical layer must be only an infrastructure and we doesn’t have to spend a lot of time in it.
Imagine that we have to begin an application using COM Components, let’s see how two managers will realize this project.
C++ manager focused on technical layer
The first manager will first try to search for developers who master COM components it will takes more time and energy but it’s obligatory for him to implement a project as he expect .
He will begin with a COM implementation and since the beginning of the project he add a complexity to it and also add useless dependency , even if the team contains just COM Gurus an overhead time will be spend in the COM Layer.
So finally this kind of manager will participate in an unpopularity of C++, every basic C++ developer will say “C++ is very complex”.
“Keep it simple” manager
The second manager try to look for only one developer who master COM technology and the rest of the team are basic C++ developers.
This manager tell to his team to forget COM and just implement POCO objects ,simple classes that use a simple types to implement a business layer, and only one developer who master COM technology develop a wrappers around the POCO objects.
So finally the “Keep it Simple” manager win a lot of time to look for developers and to implement the project and almost the whole project is developed with a basic C++ concept, and isolate the COM technology complexity and limit dependency of the project .
With this approach every developer will say “WOW developing project that use COM technology is very simple”.So try to avoid useless dependency; it can multiply the development time of a project.