Skip to content

Details

Squarehead is hosting this event.
The office is located two minutes from Nydalen T-bane in Nydalsveien 28, 0484 Oslo.

Timetable
- 17:00 : Food and mingling, sponsored by Squarehead
- 17:30 : An Introduction to C++ Contract Assertions by Vitaly Fanaskov

An Introduction to C++ Contract Assertions

The well-known contract programming paradigm was introduced by Bertrand Meyer in 1986. It roughly means that components in a software system interact with each other based on mutual obligations; if an obligation is not fulfilled, subsequent actions are not executed.

Until recently, C++ did not provide built-in facilities to implement this paradigm. Programmers relied on asserts or custom expects-like abstractions to terminate a program when a contract was violated.

The contract assertion feature was voted into C++26. At the time of writing, however, the standard draft has not yet passed final approval. Nevertheless, some compilers have already implemented initial support of the contracts facility. Let’s explore how contract assertions can help us write more predictable and safe code!

Vitaly Fanaskov

Vitaly is a principal software engineer at reMarkable. He has been designing and developing software using C++ and some other languages for over a decade. Primary areas of interest are design and development of frameworks and libraries, modern programming languages, and functional programming.

Vitaly holds a PhD in Computer Science from the Moscow State Mining University.

Related topics

You may also like