Next Meetup

Option(al) Is Not a Failure
Option(al) Is Not a Failure, Phil Nash Language: English Error code returns were bad so we invented exceptions. Much better we said. Then we realised exceptions had their problems - with 52% of a recent ISO survey's respondents saying they were banned on all or part of their codebases! We've been trying to patch them up how we can (with noexcept, for example) - but most of the problems are systemic. So there's been a return to error codes. But now we have new features in the language (arithmetic data types, including variant and optional) - and the promise of more coming (expected, outcome?) - that bring us closer to the best of both worlds - although, perhaps, with different compromises. But there's more. Where do contracts fit in? What's all this about monadic binding? A try keyword? What do other languages that are further down this road do and what can we learn from them? This talk will be a tour of the past, present, and possible future of C++ error handling; the trade-offs and rationale for each piece and a discussion of where to go next and what we can do as a community to get there. We'll look at a number of in-flight proposals, and include up-to-the-minute status on them following the standards meeting of the month before. Speaker: Phil Nash 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.

Офис JetBrains

Университетская набережная, дом 7-9-11 к.5А · St. Petersburg

What we're about

C++ has been here for a long time, but it continues to evolve and inspire people. There are so many fantastic changes happening to the language: templates and modules, auto-types and lambdas, concepts and coroutines, C++ Core Guidelines, as well as a whole family of compilers, debuggers, static analyzers, build systems, package and dependencies managers, IDEs and other tools.

C++ rules the world of financial development and HFT, embedded systems and telecommunications. It also plays an important role in the game development industry.

There is also a huge boost in the community nowadays with CppCast and CppChat, and lots of events and conferences across the globe, including CppCon, C++Now, ACCU, JUCE/ADC, Meeting C++, C++ Russia, and others.

The St. Petersburg C++ User Group unites professionals and beginners interested in modern C++ and related tools, sharing experiences and networking. We plan to meet about once a month. Come to listen, discuss and share opinions. If you have an exciting C++ topic in mind, please contact the organizers and we’ll be happy to have you as a speaker!

Code of conduct: Berlin Code of Conduct (

Members (1,274)

Photos (35)