Past Meetup

Ranges and Failures

This Meetup is past

107 people went

Location image of event venue


This month we welcome Tristan Brindle, talking to us about ranges, and Phil Nash will talk about error handling. Note a slightly earlier start time.

Please register at SkillsMatter, too:

18:30 Phil Nash: "Intro"

18:35 Tristan Brindle: "A Brief Introduction to Ranges"

Ranges are coming! All being well, C++20 will include concept-enabled, range-based versions of all the standard algorithms you know and love, as well as new “views” with lazy evaluation, offering functional-style composition which can transform the way you write code.

In this talk we’ll present an introduction to the ranges features currently making their way into C++20, demonstrating how you can use them to reduce verbosity, avoid bugs and improve the correctness of your code, and in some cases get better performance. We’ll also cover the currently-available ranges implementations that you can use today, without having to wait for the new version of the standard.

19:30 Break

19:40 Phil Nash: "Option(al) Is Not a Failure"

Why do 52% of developers (as surveyed by isocpp) disable exceptions from all or part of their codebases? Why are so many returning to error codes, or looking at more modern alternatives, such as ADT-based error handling (optional, expected etc)? Can we do better? Will we ever re-unify those who eschew std C++ by banning exceptions?

We'll take a tour of the past, present and future of error handling in C++ - including a number of proposals currently in-flight, and the thinking behind them. Along the way will attempt to put a score on all the trade-offs of the different approaches we encounter along the way to see how they stack up.

21:00 Finish

-- About the speakers

Tristan is a freelance developer, C++ trainer and BSI C++ panel member based in London. He’s the author of NanoRange, a C++14 Ranges TS implementation, and the lead tutor for C++ London Uni, offering free weekly C++ classes for students in London and around the world.

Phil is the author of the test frameworks, Catch - for C++ and Objective-C, and Swordfish for Swift. As Developer Advocate at JetBrains he's involved with CLion, AppCode and ReSharper C++. More generally he's an advocate for good testing practices, TDD and using the type system and functional techniques to reduce complexity and increase correctness. He's previously worked in Finance and Mobile as well as an independent consultant and coach specialising in TDD on iOS. Of course he's also the host of C++ London.