Mark Isaacson


Mark Isaacson is a Software Engineer at Facebook, where he works on improving the developer experience for all C++ programmers at Facebook.

Mark is the author of the tech blog “Modern Maintainable Code” that aims to open a dialogue about properties of maintainable code and teach techniques for effective program design.

Mark has a background in teaching and has been giving tech talks for several years now, most of which can be found on his blog.




Developing C++ @ Facebook scale (2017)

Writing correct C++ is hard. Period. Full stop. Even if a small change to a simple 2,000-line program compiles, has tests, and passes the tests, the code might still be broken. When the code spans hundreds of thousands of files across many different projects, making sure your change is safe is orders of magnitude harder. This talk is about all of the things that make that problem manageable for a Facebook engineer to tackle.


Exploring C++17 and Beyond (2017)

This talk will preview what's to come on the C++17 and C++20 horizons. We'll explore real, working, code to show how new features will both change the way you handle day-to-day problems and also push the limits of what's possible in C++. We'll talk about how these language features have been put to use in the D community, which has had years of experience with them in production code.

Topics include:

  • A discussion of what's likely to come in C++17 and what's being delayed to C++20.
  • std::string_view and the day-to-day benefits it provides, including preventing the dreaded static initialization order fiasco.
  • Using operator dot for a variety of unconventional uses, such as implementing poor-man's contracts.
  • Making templates more accessible to the masses by using constexpr_if. We'll discuss how this is different from Concepts as well as how this can be used for Design by Introspection.
  • Where new features are neither implemented in current compilers nor implementable in terms of C++14, this talk will feature the D language as a proxy.