Sean Baxter: Safe C++

  Рет қаралды 7,397

Tristan Brindle

Tristan Brindle

Ай бұрын

Zoom presentation by Sean Baxter demonstrating memory safe C++ using his Circle compiler

Пікірлер: 14
@GreenJalapenjo
@GreenJalapenjo Ай бұрын
This is some seriously impressive stuff.
@wolfgangrohringer820
@wolfgangrohringer820 Ай бұрын
Absolutely. And all built by one (1) person. It's mind-boggling. Not to mention that the Circle compiler also features basically the Rust trait system, discriminated unions, pattern matching, and whatnot. One can bikeshed syntax or question some of the decisions in Circle all day long, but just to think what can be achieved by one determined individual. Not to denigrate the people working on the C++ standard (who are clearly much smarter than me), but contrasting all of this with C++20 concepts, which took a decade and delivered something worse than what was already prepared for C++11... it's just a little bit depressing. But I digress. Having this "Rustified C++" as presented here to fix critical parts of a codebase would of course be much preferable to adding a new language and dealing with interop.
@TheSulross
@TheSulross 22 күн бұрын
No one else has anything remotely comparable as an effort to bring Rust-like memory and thread safety into C++ - this is the only game in town. And it's THE thing that C++ badly needs to remain a viable multi-domain and systems programming language going forward. What is needed is for gcc, clang, and Microsoft to implement what Sean has done in their respective compilers as an extension - doing so where all implementations adhere compatibly to a spec. This could foster a kind of momentum that could bring a steam roller of pressure onto the C++ standards committe to rubberstamp. So what is needed is a full-on conspiracy of the prominent C++ compiler teams to do this in unison. The tail should just wag the dog in this particular case so that C++ can have a way to maintain furure viability for even green field projects. Otherwise it will be relegated to the fate of COBOL and FORTRAN - only important for the sake of legacy code commitments.
@AlexandreJasmin
@AlexandreJasmin Ай бұрын
I'd be curious to hear from the Rust community about any legacy aspects of the language they'd want to change before we try bringing it all into C++.
@user-qt5hy3vn5p
@user-qt5hy3vn5p 15 күн бұрын
C++ modules 2077?
@fzy81
@fzy81 Ай бұрын
56:20 Rust provides thread::scope() for spawning threads with a bounded lifetime, which allow borrowing non-static data. Circle's std2::thread could implement a similar api
@SciDiFuoco13
@SciDiFuoco13 Ай бұрын
Correction on Send/Sync: in Rust &mut T is Send if T is Send, and you can send a &mut T to a different thread. What prevents a data race caused by mutating the same object through that mutable reference is instead the borrow checker: the object is considered borrowed while the thread is running, so you cannot also use it from the thread that spawned the second one. Note that you'll have to use std::thread::scope to see this, since with std::thread::spawn it will still not satisfy the static bound.
@seanbaxter1050
@seanbaxter1050 Ай бұрын
Thanks. Subtle point. My mistake.
@abhalla
@abhalla Ай бұрын
Great work. Thanks.
@alurma
@alurma 20 күн бұрын
Insanely good stuff
@chipcollier
@chipcollier 22 күн бұрын
I wish I had what it takes to help bring this to MingW, MacOS, and Arm. aarch64 in particular would be useful.
@spoonfuloftactic
@spoonfuloftactic Ай бұрын
Production ready when?
@andreasbuhr8304
@andreasbuhr8304 25 күн бұрын
Is this already on godbolt?
WHY did this C++ code FAIL?
38:10
The Cherno
Рет қаралды 173 М.
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 188 МЛН
Неприятная Встреча На Мосту - Полярная звезда #shorts
00:59
Полярная звезда - Kuzey Yıldızı
Рет қаралды 5 МЛН
TRY NOT TO LAUGH 😂
00:56
Feinxy
Рет қаралды 20 МЛН
Пробую самое сладкое вещество во Вселенной
00:41
Mojo🔥: a deep dive on ownership with Chris Lattner
48:50
I ported h2spec to Rust (also: codegen!)
16:09
fasterthanlime
Рет қаралды 22 М.
Jonathan Blow on why C++ is a bad language for games
13:45
Jonathan Blow Highlights
Рет қаралды 30 М.
You Need Kubernetes?
27:59
ThePrimeTime
Рет қаралды 182 М.
Life after C++ by MICHELE COSTANTINO SOCCIO
48:51
Devoxx UK
Рет қаралды 508
Compilers, How They Work, And Writing Them From Scratch
23:53
Adam McDaniel
Рет қаралды 67 М.
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09
Solving distributed systems challenges in Rust
3:15:52
Jon Gjengset
Рет қаралды 184 М.
What’s New in C++26 - Alexander Fokin
1:08:56
cppzurich
Рет қаралды 13 М.
сюрприз
1:00
Capex0
Рет қаралды 1,6 МЛН