Robotics and Automation - Articles, Stories & Interviews
Robotics and Automation - Featured Story
Winter break homework from John Carmack. Gamasutra reprint article "In-depth: Functional programming in C++":
A large fraction of the flaws in software development are due to programmers not fully understanding all the possible states their code may execute in. In a multithreaded environment, the lack of understanding and the resulting problems are greatly amplified, almost to the point of panic if you are paying attention. Programming in a functional style makes the state presented to your code explicit, which makes it much easier to reason about, and, in a completely pure system, makes thread race conditions impossible... (full article)
Also "Lessons to learn from Oculus development team when using the “Modern C++” approach":
Modern C++ doesn’t imply necessarly the overuse of templates
Andrei Alexandrescu says about the Modern C++ design:
"Modern C++ Design defines and systematically uses generic components - highly flexible design artifacts that are mixable and matchable to obtain rich behaviors with a small, orthogonal body of code."
Modern C++ has a close relation with generic programming; probably it’s the reason that makes many developers neglect the modern C++ approach. They think that the code will be mostly implemented as templates, which makes the code difficult to read and maintain.
In the SDK, the templates represent only 20% of all types defined and most of them are related to the technical layer... (full article)