Skip to content
0:00 / 0:00

#carbon#c++#memorysafety

Carbon Language Successor Strategy: From C++ Interop to Memory Safety - Chandler Carruth - CppNow 23

CppNow

39K subscribers • 42 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 1 on Hacker News and 1 on Lobsters.
  • Presented by Chandler Carruth, Carbon Language lead

Advanced. Deep dive for people who know the field.

24K views3 years ago2 recommendations

Programming languagesSystems programmingLanguage design and type systemsC++Performance and optimization

Chandler Carruth explains Carbon's strategy as a C++ successor language, focusing on seamless C++ interoperability and its roadmap for memory safety.

cppnow.org linkedin.com/company/cppnow --- Carbon Language Successor Strategy: From C++ Interop to Memory Safety - Chandler Carruth - CppNow 2023 Slides: github.com/boostcon --- The Carbon Language is an experimental successor to C++ motivated by a desire to effectively and scalably bring significant language improvements like memory safety to existing large-scale C++ code bases. Other efforts to evolve C++ like Cpp2 and Circle are structured more as a *superset* language, where Carbon [Carbon Language] is following a distinct *successor* language design. This talk will dive into the tradeoffs we see between these approaches and what motivates Carbon [Carbon Language] to take a different approach despite its challenges. One of the largest challenges of our successor approach is C++ interoperability, and Carbon [Carbon Language] is embedding the Clang C++ compiler directly into its toolchain to get the superpowers it needs to address this. While still in its early stages, this talk will give a detailed preview of what we expect C++ interop to look like in Carbon [Carbon Language] and how we plan to solve key implementation issues. It will cover complex cases like C++ templates and C++20 concepts, as well as showing how we plan to make the interop truly bidirectional. Last but not least, this talk will show how we expect our successor strategy to play out in practice. Memory safety is an especially motivating feature, requiring fundamental changes to how software is written to achieve safety without performance loss. This talk will show the path Carbon will provide to enable existing C++ code bases incrementally and scalably achieve safety and security. --- Chandler Carruth Chandler Carruth is the technical lead for Google's programming languages and software foundations. He has worked extensively on the C++ programming language and the Clang and LLVM compiler infrastructure. Previously, he worked on several pieces of Google's distributed build system and made guest appearances helping maintain a few core C++ libraries across Google's codebase. He received his M.S. and B.S. in Computer Science from Wake Forest University, but disavows all knowledge of the contents of his Master’s thesis. When not hammering away on a weirdly shaped keyboard, he enjoys sushi, fine dining, brown spirits, and everything about wine. --- think-cell develops one of the world’s leading PowerPoint applications, with C++ at the core of everything we build, from layout algorithms to deep integration with Microsoft Office. Interested in working on challenging C++ problems with real-world impact? Explore our open roles: think-cell.com/en/career/tech--- Videos Filmed & Edited By Bash Films: bashfilms.com/ YouTube Channel Managed & Optimized By Digital Medium Ltd: events.digital-medium.co.uk --- CppNow 2024 cppnow.org twitter.com/cppnow --- #boost #cpp #softwaredevelopment

Why it's here

2 people recommend this

What people say. Frequently cited to explain Carbon's approach to memory safety and how it differs from other C++ evolution strategies.

dbremneron Lobsters • Recommends

Carbon Language Successor Strategy: From C++ Interop to Memory Safety

josh11bon Hacker News • Recommends

On “The two factions of C++”

…C++ -> unsafe Carbon -> safe Carbon, we plan on supporting unsafe Carbon code with reasonable ergonomics. * Carbon's original focus was on evolvability, and didn't focus on safety specifically. Since then it has become clear that memory safety is a requirement for Carbon's success, and will be our first test of those evolvability goals. Talks like link to this video better reflect more recent plans around this topic.…

synergy20on Hacker News • Mentions

On “Toward a TypeScript for C++"”

After the talk, the activity on it is nearly zero since then, in a world where ideas are cheap, show me the code, this does not seem promising to me. On the other hand, carbon has been very actively developed since its announcement, which also claims to be a typescript-for-c++. Now it also wants to be a memory safe: link to this video I'm forced to learn rust but I hope carbon will take off ASAP so I can be more productive and my (carbon) code can interface with c/c++ code easier than rust.

raphlinuson Hacker News • Mentions

On “C++ Memory Model: Migrating from x86 to ARM”

…bidden, enforced by the type system. I consider Go and Rust to be "safe-ish" in that data races can happen, and can violate safety. Apparently this hasn't led to huge problems in Go. Thus, the roadmap for Carbon1 targets a comparable level of safety, not trying to prevent data races, but aiming for memory safety in single threaded contexts. 1: link to this video…

Vt71fcAqt7on Hacker News • Mentions

On “Secure by Design: Google's Perspective on Memory Safety”

Unless something has chnaged since this talk01, I don't think that is accurate. >Best candidate for C++ is likely similar to Rust’s borrow checker It is stated clearly in the talk that this is true for Carbon as well 0 link 1 relevant timestamps: link to this video link to this video

Vt71fcAqt7on Hacker News • Mentions

On “Circle C++ with memory safety”

>Carbon wants to ship a finished working Carbon language, then bolt on safety (somehow) but, only for some things, not data races for example, so, you still don't actually have Rust's Memory Safety I'm not sure this is correct. As I understand it, Carbon's plan is to add a borrow checker like Rust's. From a recent talk01 by one of the lead developers: >Best candidate for C++ is likely similar to Rust’s borrow checker 0 slides: link 1 relevant timestamps: link to this video link to this video

Vt71fcAqt7on Hacker News • Mentions

On “Circle C++ with memory safety”

You're right. In fact it was in the previous slide0 from that same talk. Thanks for pointing that out. 0 link to this video