About leaky abstractions

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.

Continue reading About leaky abstractions

Following-up on 'simplifying build in C++ (part 1)' and discussing API convergence

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.

Continue reading Following-up on 'simplifying build in C++ (part 1)' and discussing API convergence

Simplifying build in C++ (part 1)

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.

Continue reading Simplifying build in C++ (part 1)

My CppCon 2017 talk about API & ABI versioning is online!

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:

Continue reading My CppCon 2017 talk about API & ABI versioning is online!

Pagination