There is one kind of leak that neither RAII nor garbage collection can fix, it’s abstraction leaks. The idea was coined by Joel Spolsky back in 2002 and remains one of my favourite computer science article.
The law of leaky abstractions by Joel Spolsky is one of the first technical article I encountered after I got my engineering degree and it remains one of the most influential to me.
My previous post about simplifying build in C++ gathered some reaction but I feel that a significant part of them seemed to miss the point. In this follow-up, I try to explain why by laying out the recipes to make several APIs converge as one.
In Simplifying build in C++ (part 1), I tried to make the case for a unified build system interface that could be used by package managers to ease-up their developments and tackle some issues inherent to the current state of affairs.
Package management and build systems are one of the next big challenges C++ is going to face. In this article series, I offer some thoughts and ideas to solve that. This post is the first part, where I give an overview and try to tackle the first issue: interaction between package managers and build systems.
What is the first thing you do when you start a new project? Me, I install Google Test (or an equivalent) to make sure I have a decent test coverage from the start.
When you make a change in your code, it’s important to consider the potential impacts on your clients. At CppCon, I gave a talk about those impacts, both on API & ABI, and how to advertise them.
As I said in my trip report, I had two talks at CppCon this year. The first one was about using CMake for Modular Design. The second one is about changes in your library will impact your clients through API & ABI and how to tell them about it through versioning:
Do you think about your libraries in CMake in term of compiler flags or architecture modules? In this talk, I show you how to do the latter.
For those who couldn’t make it to CppCon 2017, the video of my first talk “Using Modern CMake Patterns to Enforce a Good Modular Design” is now online: