2023 Keynote, Herb Sutter: Cooperative C++ Evolution – Toward a Typescript for C++

We’ve previously announced keynotes by Bjarne Stroustrup on C++ Safety, Andrei Alexandrescu on AI and C++, Bret Brown and Bill Hoffman on Dependency Management, and Laura Savino on Other People’s Code.

We’re now pleased to announce the final of our five conference keynotes: Herb Sutter will be delivering a talk on the evolution of C++ that continues from his popular 2022 keynote “Can C++ be 10x simpler and safer?” last year.

From his talk description:

Cooperative C++ Evolution – Toward a Typescript for C++

C++23 is done. But C++ is not! In this talk I’ll give my personal perspectives on:

  • C++’s ongoing and very active evolution;
  • The latest progress updates on my cppfront experimental compiler, and what I’ve learned about modern ISO C++20 and C++23 in the experiment;
  • Why compatibility (and what kind, and how much) is essential; and
  • Why we should aim to keep bringing C++ forward successfully by cooperating and being part of C++’s ongoing true evolution via WG 21, even though that’s more work than pursuing a new fresh-but-competing evolutionary path.

Registration is now open so don’t miss out on CppCon 2023 this October 2-6. Register today!

2023 Keynote, Laura Savino: Coping With Other People’s Code

We’ve previously announced keynotes by Bjarne Stroustrup on C++ Safety, Andrei Alexandrescu on AI and C++, and Bret Brown and Bill Hoffman on Dependency Management.

Laura Savino

We’re now pleased to announce the fourth of our five conference keynotes: Laura Savino will be delivering a talk on something every software practitioner experiences – “other people’s code.” This talk encourages us to not to just consider it “someone else’s work” but also how to approach it with curiosity and a generous nature in order to learn and grow.

From her talk description:

Coping with Other People’s Code

Sometimes we’re fortunate enough to work with a small group of devs who share our coding values, and when we see their PRs come in, we nod along and say, “Yup, that’s what I would have done. Oh, nice, that one’s even better than my usual approach, I’d better tuck that idea away for next time.”

This perfect alignment is precious… and particularly elusive in C++. Most of us are living in codebases that are profitable, complex, and updated in ways with which we have legitimate beef. How can we keep a sense of curiosity, progress, and satisfaction amidst patterns we would never have chosen?

This presentation explores the often-overlooked social aspects of C++ development, offering both practical tools and light-hearted commiseration. We’ll draw from the field of behavior science to build strategies that address conflicting design patterns and the strong opinions that come with them.

Registration is now open so don’t miss out on CppCon 2023 this October 2-6. Register today!

2023 Keynote, Bret Brown and Bill Hoffman: A First Step Toward Standard C++ Dependency Management

We’ve previously announced keynotes by Bjarne Stroustrup on C++ Safety, and Andrei Alexandrescu on AI and C++. We’re now pleased to announce the third of our five conference keynotes: Bret Brown and Bill Hoffman will be delivering a talk on an important topic for all C++ projects… Dependency Management.

From their talk description:

A First Step Toward Standard C++ Dependency Management

Prebuilt libraries have existed for decades… they even predate C++! After all these years, techniques to use prebuilt libraries are still ad hoc and difficult to maintain. A root cause of this variety of techniques is the variety of things that are C++ libraries: header-only libraries, statically-linked archives, dynamically-linked binaries, and so on. The consuming projects need to build against these libraries in consistent ways or risk unproductive workflows – and potentially, even catastrophic failure in production environments. This lack of convergence creates enormous interoperability problems across broad portions of the worldwide programming ecosystem, not just the C++ parts of it.

This talk will explore the complexities of defining what is a “C++ library.” It will then present the joint work of Kitware, Bloomberg, and others toward a preliminary design for creating initial standards for dependency management in C++ – metadata files to describe prebuilt libraries. A roadmap for maturing the design will also be shared, including proposing a standard definition for C++ libraries, building on previous proposals such as P1313: Package Specification.

This talk is intended for anyone who produces, maintains, or consumes C++ libraries. Special knowledge of C++ tooling, build systems, or package managers is not required.

This talk is also the keynote talk for the Tooling Track.

Registration is now open so don’t miss out on CppCon 2023 this October 2-6. Register today!

 

CppCon 2023 Program Announced

The Main Program schedule for CppCon 2023 is now live! This year, CppCon is back to an all-onsite format for the conference program.

We’ll have over eighty 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’ve already announced our onsite Opening Keynote on Safe C++ and one other plenary talk on AI and C++, and will be announcing our other three headline talks here in coming days.

This year’s Main Program features a broad and deep general program. Within the program are six dedicated topic tracks: The Back to Basics Track, the Embedded Track, the Software Design Track, the Scientific Computing Track and Tooling Track are back, and we have a new Robotics Track! 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 at least two panels (one on Safety and Security for C++, and our annual Committee Fireside Chat), multiple sessions of lightning talks, Open Content talks, BOFs, exhibitors, social events, and pre/post-conference classes that attendees have enjoyed in past years.

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 less than a month—so register now.

CppCon 2023 program schedule is almost ready!

We’re sorry that posting the 2023 program schedule has taken two weeks longer than our original timeline, but it’s for positive reasons…

This year, we received the second-highest number of talk submissions ever, second only to 2019 pre-pandemic. Thank you to all the speakers for your support!

Sadly, we had to reject the most and highest-quality submissions ever because we have fewer physical meeting rooms available than in 2019. Together with the first point, this means that the set of talks we had to reject was the highest-quality “reject list” ever in CppCon’s history. Rejecting great talks we want to have is not a fun thing for anyone, and we appreciate all the speakers who didn’t make it in this year even though they submitted very, very strong talks we really wanted to have. Even if next year’s CppCon 2024 were made up of just the top talks held over from not fitting into our program space this year, next year would be one of our strongest programs ever; the talks that didn’t fit this year were that good, and were edged out only because the ones that did fit were so amazing.

The program committee generated the highest number of talk submission reviews ever. This year, 97 people actively served on the program committee, and generated more reviews than any year in CppCon’s history. We really appreciate their thoughtful evaluations of all the submitted talk proposals. Thank you to all the program committee members for your hard work this summer!

We have the highest number of chaired tracks ever. The chaired topical tracks this year are: Back to Basics; Embedded Systems; Scientific Computing; Robotics; Software Design; and Tooling. Thank you to all the chairs for stepping up to organize these topics on our 2023 program!

So there’s been more work than usual, but we are really excited about the CppCon 2023 program that will be posted in just a few days. We think it’s CppCon’s strongest program ever. And in addition to the program sessions, we’ve also started to announce this year’s highly-topical keynotes including Bjarne Stroustrup on “Delivering Safe C++” and Andrei Alexandrescu on “Exploring Generative AI for C++,” with three more headline talks still to be announced.

We look forward to seeing many of you there in person in early October! If you haven’t registered already, you can register here.

2023 Keynote, Andrei Alexandrescu: Robots Are after Your Job (or at Least the Boring Parts of It): Exploring Generative AI for C++

We are pleased to announce that Andrei Alexandrescu, one of the most popular presenters to ever appear at CppCon, will be appearing in person, in Aurora as a CppCon 2023 keynote presenter.

From his talk description:

Robots Are After Your Job (or at Least the Boring Parts of It): Exploring Generative AI for C++

Almost a year since the launch of ChatGPT – considered by many as the first truly compelling code generator that translates free-form human language into code – the C++ community continues to grapple with the implications. Reactions range from indifference or skepticism to genuine concern about the future of human programmers.

Meeting in person

Although some advanced C++ techniques are already accessible to tools like ChatGPT, certain fundamental aspects remain outside the reach of current and possibly next-generation generative AI tools. This disparity raises pivotal questions: Which parts of the intricate C++ ecosystem can we confidently delegate to generative AI? What uniquely human skills must we retain and refine?

We’ll probe the potential and limits of contemporary AI, taking a novel look at the age-old binary search algorithm. Although this algorithm has long been held up as a paragon of efficiency, we challenge that notion. What would ChatGPT have to say about it, and how might it partner with us to refine this cornerstone of algorithmic logic? The conversation opens a window into a future where developers become the “one percenters” of programming—focusing solely on the most cerebral and high-level challenges, while AI takes care of the everyday tasks. Join us to explore this fascinating paradigm shift and reflect on what it means for your own work in and with C++.

Registration Desk

Don’t miss this very timely presentation by one of the best.

Registration is now open so don’t miss out on CppCon 2023 this October 2-6. Register today!

 

 

 

 

CppCon 2023 Diversity & Attendance Support Ticket program

Again this year, CppCon is running a Diversity & 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 September 9, 2023. Decisions will be sent by September 12.

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

Opening 2023 Keynote, Bjarne Stroustrup: Delivering Safe C++

Meeting in personCppCon 2023 will kick off on Monday, October 2 with Bjarne Stroustrup delivering the traditional opening keynote live in person in Aurora.

Bjarne’s annual opening keynote for CppCon is one of the most anticipated and most watched talks in C++. His talks are always among the most viewed presentations on the CppCon YouTube Channel.

From his talk description:

Delivering Safe C++

Type safety was one of the key initial C++ design ideals. We have evolved C++ to the point where we can write C++ with no violations of the type system, no resource leaks, no memory corruption, no garbage collector, no limitation of expressiveness or performance degradation compared to well-written modern C++.

We face three major challenges: To define what “safe” means in the context of various C++ uses, to guarantee such safety where guarantees are needed, and to get developers to write such verified safe code.

I outline an approach based on safety profiles to address these challenges, describe an approach to eliminate dangling pointers, and suggest how to eliminate all dangling pointers and all range errors. My aim for key applications is verified type-and-resource-safe C++. An emphasis is on minimizing costly run-time checks through the use of abstractions. I see the current emphasis on safety as an opportunity to complete one aspect of C++’s fundamental aims in real-world code.

Every year, Bjarne Stroustrup gives an important C++ talk in his CppCon opening keynote. Be at CppCon again this year as Bjarne Stroustrup flies us above this complex landscape of issues and shines a spotlight on the most important things to know, and to think about, in C++ in 2023. This year we aim to leave extra extended time for real-time questions and answers with the live audience. Come to the talk, bring your questions, and don’t miss out!

Registration DeskRegistration is now open so don’t miss out on CppCon 2023 this October 2-6. Register today!

 

 

 

 

Announcing CppCon Academy 2023 Classes

class attendeesRegistration is open for exciting CppCon Academy classes that will be held in the days before or after CppCon 2023.

Five classes are online and the rest will be offered to onsite attendees at the Gaylord Rockies in Aurora.

Read about all the offered classes on the CppCon Academy 2023 page. This year we are offering classes that range from those that are focused on updating you to the latest versions of C++, to those focusing on better code, testing, or design skills. This year we are offering classes on concurrency, one on embedded programming, and one on performance and efficiency (well, okay, they are all about performance and efficiency ultimately).

class instructor with studentsOnline classes will be held either on the last three business days of the week before the conference or the first three business days of the week after the conference.

Onsite classes are held on the weekend days immediately before and after the conference.

class instructorMost of the classes feature two days (onsite) or three days (online) of class instruction. All classes feature hands-on opportunities to improve your programming skills.

CppCon instructors are selected from the best C++ instructors in the world. They feature rare combinations of deep technical knowledge, extensive development experience, and the ability to explain things in an approachable manner.

Register now!

CppCon 2023 Call for Submissions – Robotics Track

The Robotics Track at CppCon unites passionate professionals from the robotics industry and the broader C++ community to create a space for networking, collaboration, and growth in this dynamic field.

By attending talks in this track, you’ll join a community committed to exploring innovative solutions, empowering meaningful connections, and fostering growth in the exciting world of robotics. Together, we can bring the power of C++ to tackle complex challenges and shape the future of robotics technology.

We invite submissions that showcase the synergy between robotics and C++ concepts. Examples include:

  • Utilizing design pattern X to enable feature Y in a robotics project.
  • Comparing the impact of functional programming style vs. object-oriented style on a use case.
  • How leveraging C++17/20 features can optimize performance or safety in robotics systems.

Topics of interest include:

  • Simulation
  • Planning
  • Machine learning
  • State estimation
  • Controls
  • Foreign function interfaces
  • API design
  • Performance
  • Safety
  • Tooling
  • Infrastructure
  • Dependency management

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

Robotics Track chair