2024 Keynote, Khalil Estell: “C++ Exceptions for Smaller Firmware”

We’ve previously announced the Opening Keynote by Herb Sutter on what lies ahead for C++.

We’re now pleased to announce the second of our five conference keynotes: Khalil Estell will be talking about something that is often avoided—exceptions in an embedded environment. Khalil is a ISO C++ Committee Member and has extensive experience writing production firmware. His talk follows in the spirit of Herb’s talk where we look at the future and new perspectives of what C++ can offer the modern software developer.

From Khalil’s talk description:

C++ Exceptions for Smaller Firmware

For years, developers have overlooked a powerful tool for reducing binary size: C++ exceptions. Join me on a deep dive into the world of exceptions and discover how they can be harnessed to create more space efficient firmware. We’ll explore the requirements and best practices of embedded development, and show what is required to use exceptions in that environment. By the end of this talk, you’ll have a thorough understanding of how exceptions are handled, what their space costs are, and how exceptions compare to functional errors as values.

Registration is now open so don’t miss out on CppCon 2024 this September 15-20. Register today!

2024 opening keynote, Herb Sutter: “Peering forward — C++’s next decade”

We’re pleased to announce our opening conference keynote: Herb Sutter will be talking about ISO C++26 and onward and where it looks like we are heading in our near future. Herb’s talks regularly provoke conversations and are some of the most viewed on the CppCon channel, and this talk is set to deliver even more. Don’t miss it!

Here is a taste of the talk in Herb’s own words.

This is an exciting year for ISO C++: In just the past few months, it has started to become clear that C++ is approaching three major positive turning points that are starting to materialize together in a blossoming of usability we haven’t seen since C++11.

First, compile-time reflection, including source generation, will dominate the next decade of C++ as arguably the most powerful feature that we’ve ever standardized, and (fingers crossed!) it’s on track for being included in C++26 in the coming months. I expect reflection’s impact on library building to be comparable to that of all the other library-building improvements combined that we’ve added since C++98.

  • Related: The CppCon 2024 Friday keynote will be all about reflection… more about that will be announced soon!

Second, memory safety is being taken seriously in WG21. After a decade or two of gradual smaller improvements, the committee is actively working toward taking the major step of enabling well-known proven-effective safety checks at compile time by default, without compromising performance.

  • Related: The CppCon 2024 Monday evening panel and Wednesday keynote will be all about safety… more about those will be announced soon!

Third, simplifying C++ is being taken seriously. I’m not the only person actively proposing simplifications to C++, and I expect the rate of simplification proposal papers to increase again in the coming year as the fruits of in-the-field experiments turn into evidence that the experimental improvements are working and are ready to be considered for ISO C++ itself to benefit all programmers.

Most of all, the above overlap and reinforce each other. For example, reflection will enable writing more new facilities as compile-time libraries instead of as language features that have to be baked into a compiler, which helps simplify future language evolution. Reflection will also enable compile-time libraries that let developers express their intent directly and leave it to the library code to accurately generate correct implementations, which helps reduce errors and makes our code both simpler and safer.

ISO C++ has long been solidly in the top 5 programming languages and is going strong. This talk presents reasons to expect that C++’s future is bright, and that perhaps its most important decade is just ahead.

Registration is now open so don’t miss out on CppCon 2024 this September 15-20. Register today!

CppCon 2024 Program Announced

The Main Program schedule for CppCon 2024 is now live!

We’ll have over one hundred breakout sessions delivered onsite by the best C++ presenters in the industry, many returning from previous years as well as some exciting new voices. We will be announcing our five headline talks here in the coming days.

This year’s Main Program features a broad and deep general program. Within the program are seven dedicated topic tracks: The Back to Basics Track (sessions), the Embedded Track (sessions), the Robotics Track (sessions), the Scientific Computing Track (sessions), the Software Design Track (sessions), and Tooling Track (sessions) are back, and we have a new GameDev Track (sessions)! These “tracks” are to help find talks in specific areas, but as always, there are lots of talks not assigned to a specific track covering a wide variety of important topics.

In addition to the Main Program, we’ll have our annual Committee Fireside Chat, our poster competition, multiple sessions of lightning talks, Open Content talks, BOFs, exhibitors, social events, pre/post-conference classes, and most importantly of all, the informal “hallway track,” providing the opportunity to engage with professionals from across our industry.

Most of the program is published, but we are still working on a few surprises, so keep checking back to see any new additions or time slot adjustments.

We’d like to thank the Program Committee, our speakers, and the many professionals who proposed talks which we, unfortunately, just couldn’t squeeze in this year. Thank you for your hard work and enthusiastic support for this year’s program!

We hope to see you all in just over a month—so register now.

CppCon 2024 Call for Poster Submissions

Are you doing something cool with C++? Got a great new library, technique, or tool?

We want you to share it with the C++ community by creating a poster and presenting it at CppCon 2024!  The poster program is returning this year to the conference.

The poster submissions deadline is July 28th, with decisions sent by August 12th. For topic ideas, submission instructions, and advice on making the best possible submission, see the Poster Submissions page.

 

CppCon 2024 Attendance Support Ticket program

Again this year, CppCon is running an Attendance Support Ticket program. These free tickets are for people who would not be able to attend otherwise. This program is limited to conference tickets and doesn’t include support for transportation or lodging. This is an open program, but reasons to apply may include financial assistance, that you are part of an underrepresented group in tech, and others.

In order to apply for this program, please fill in the application form here. The application deadline is June 27, 2024. Decisions will be sent by July 1.

We look forward to seeing many of you again this year at CppCon 2024!

CppCon 2024 – Call for Volunteers

Volunteer at CppCon 2024!

Are you passionate about C++ and looking to dive deeper into the community? Whether you’re a seasoned developer, a student, or just passionate about technology, we welcome you to join us in bringing this dynamic C++ conference to life. This is your chance to experience the conference without the cost of registration.

What Does Volunteering Involve?
Volunteers play a crucial role in a variety of tasks. Some examples:

  • Assembling registration packets and badges
  • Assisting with speaker and attendee registration
  • Helping with audio/visual needs
  • Making session announcements
  • Managing information desks
  • Helping attendees with questions
  • And more!

Why Volunteer?
Volunteering at CppCon is a unique opportunity to:

  • Attend talks and sessions at no cost
  • Meet and interact with speakers and attendees
  • Gain a new perspective on how tech conferences operate
  • Contribute meaningfully to the C++ community

Whether you are attending a conference for the first time or are a seasoned attendee, volunteering offers a fresh and rewarding experience. You’ll have ample time to attend sessions, with at least half your volunteering time spent in them.

Availability:
We appreciate it if you are able to join us for several days, but even if you can only make it for a single day, there are opportunities for you. Volunteers available on the weekend prior to the conference can also assist with important preparatory tasks.

International Volunteers:
For those coming from outside the US, be sure to check our Visa Application Support page to ensure you have all the necessary information.

Volunteer Grants:
This year, we have a limited number of grants available to cover a portion of the traveling and/or lodging expenses for individuals who would otherwise not be able to attend. Apply for financial assistance by filling out the relevant sections of the application form below before July 26th.

Due to overwhelming interest, we are closing Volunteer Registration early. Thank you to the community for showing up to make CppCon the best C++ conference.

Ready to be part of something big? Complete the Volunteer Registration Form by August 16th.

Visit CppCon Volunteers to learn more or contact us directly at volunteer.chair@cppcon.org.

We look forward to having you join our volunteer team and contribute to an amazing CppCon 2024! 🌟

CppCon 2024 Call for Submissions – Embedded Track

The call for submissions for the Embedded Track at CppCon 2024 is now open! Check out the submissions page so you don’t miss your chance to share your team’s latest successes and discoveries in embedded software development!

CppCon’s Embedded Track is a meeting place where programmers specializing in embedded systems can come together with the larger C++ community to learn from each other.

Embedded systems is an increasingly broad area of computing, covering handheld devices, safety-critical systems like autonomous cars, and highly-specialized systems like satellites, not to mention the hardware devices used to build other computing systems. Possible topics include (but certainly aren’t limited to):

  • Working with real-time operating systems
  • Device drivers
  • Hardware simulation
  • Safety-critical systems
  • Techniques for improving execution time
  • Techniques for minimizing overhead
  • Unique security concerns (e.g., securing mobile devices)
  • C/C++ libraries focused on resource-constrained systems
  • Case studies and post-mortems on embedded systems

Submission deadline is May 19, 2024. Please remember to note that your submission is targeting the Embedded Track in the Comments section of the submission form.

Ben Saks

Embedded Track chair

CppCon 2024 Call for Submissions – Robotics Track

The Robotics Track at CppCon brings together practitioners of the multidisciplinary field to share their knowledge and experience with using C++ to build robots.

By attending this track, you’ll have an opportunity to join a community of like-minded individuals from robotics, controls, autonomous driving, AI, and Machine Learning who use C++ to drive developments in their fields.Collaborative robots

We invite submissions that showcase the use of C++ in a robotics context. Examples from last year include:

  • compile-time techniques for implementing kinematic chains
  • improving path planning performance through data structure optimization
  • exploring the implementation of a popular behavior tree library used in robotics

More examples can be seen from this playlist of last year’s track

This track is unlike academic conferences which typically require submission of an open source package or published work and is oriented towards practitioners sharing useful techniques, best practices, or interesting explorations of the language that powers everyday robots. Join us!

Remember to indicate your interest in the Robotics Track in the Comments Section of the submission form. The submission process can be found here.

Griswald Brooks and Tyler Weaver

Robotics Track co-chairs

CppCon 2024 Call for Submissions – Game Development Track

This year, CppCon is launching a new track dedicated to GameDev. I am delighted to be chairing and I would be even more delighted to hear from anyone with stories to tell of their time in GameDev and the tricks and techniques they came across.

GameDev is an unusual domain: like finance, low latency and performance are key features, although unlike finance, the costs of engineering failures are not life-changing (in general).

I have seen things you wouldn’t believe. Memory leaking at 15Kb a second during a retail build, the engineers relying on users being quick enough to finish a level. Unencrypted text in binaries. Engineers fighting in a car park over a 2Kb buffer, released from the memory budget through the cutting of a feature. Maybe you have seen some things we would like to know about, and maybe you’ve learned some things that we really should know about.

I want to see your C++ based proposals on:

  • Patterns in game development
  • Building engines
  • Build systems
  • Profiling and optimizing
  • Accommodating hardware constraints
  • Interacting with the C++ Standard
  • Debugging interactive programs
  • GPU programming
  • Case studies and post mortems
  • Oh yes, and AI

In fact, anything relevant to our domain. We have a history of secrecy and silence: now is the time to come blinking into the light. Advocate for change! Make your voice heard in the wider community!

Please contact the GameDev Track Chair, Guy Davidson, if you have any questions or suggestions.

CppCon 2024 Call for Submissions – Software Design Track

Building software entails more than writing lines of code. Software development entails: managing dependencies in code, reducing coupling, creating the appropriate abstractions in respective domains, and meeting soft and hard requirements. These are several of the many aspects focused on in the CppCon Software Design Track—and we want to hear from you!

This year CppCon again is providing a dedicated track covering the many aspects of software design and development. You are strongly encouraged to submit talks for the Software Design Track and share your wisdom and experience.

Topics may include:

  • Design for change, scalability, extension, and testability.
  • Design techniques for all paradigms.
  • Both static and dynamic polymorphism.
  • Design and architectural patterns.
  • Both Good and bad experiences from real world projects (that is, ‘software stories’ and ‘case studies’).
  • Advice on how to manage big projects via proper software organization.
  • Managing time and technical talent.

Mike Shah and Klaus Iglberger
Software Design Track co-chairs