"Swift as C++ Successor in FoundationDB" by Konrad Malawski (Strange Loop 2023)

  Рет қаралды 14,632

Strange Loop Conference

Strange Loop Conference

9 ай бұрын

Programming languages often prioritize either performance or ergonomics. Swift offers a unique modern type-safe low-ceremony approach taking the best of both worlds that scales from mobile apps to high-performance systems where previously memory-unsafe languages would be used. It also interoperates seamlessly with C and C++.
In this talk, we show how we successfully adopted Swift in FoundationDB, a distributed database struggling to modernize its C++ codebase. Swift's interoperability features allowed the team to incrementally move single functions, or entire types, to Swift. This transition was done without generating any bindings and while preserving the existing semantics.
FoundationDB uses a custom actor runtime, which enables reproducible simulation testing. Again, Swift's flexible concurrency and distributed actor model enabled an incremental side-by-side approach by having Swift concurrency seamlessly execute on the existing scheduling infrastructure.
Konrad Malawski
Swift Team, Apple
@ktosopl
Konrad works in the Swift team at Apple, where he focuses on foundational server-side Swift libraries and concurrency features of the language. He was part of the design and implementation of Swift’s structured concurrency and actor model, as well as the distributed actors language feature and cluster library. He also maintains server-side observability libraries for logging, metrics and distributed tracing. Previously, he worked on Akka at Lightbend/Typesafe, where he maintained core pieces of the ecosystem, including the clustering, event sourcing, streaming and HTTP libraries. He also made significant contributions to the reactive-streams specification and TCK which later became the foundation of the JDK’s java.util.concurrent.Flow types.
----
Recorded Sept 21, 2023 at Strange Loop 2023 in St. Louis, MO.
thestrangeloop.com

Пікірлер: 16
@lwouisYT
@lwouisYT 9 ай бұрын
Great presentation, thank you!
@mooncop
@mooncop 9 ай бұрын
glad that swift successors keep coming, despite some initial setbacks! 🦆+ 1
@guyor4761
@guyor4761 9 ай бұрын
The backtrace support is very impressive
@gofudgeyourselves9024
@gofudgeyourselves9024 8 ай бұрын
Rust language founder also worked on swift
@Ch0rr1s
@Ch0rr1s 9 ай бұрын
I love that talk. i never had any contact with swift - mostly because it was "apple app language" in my mind. interesting. Maybe i have to give it a try. but i also kinda feel like Konrad may take over the world until then :D
@evoboy67
@evoboy67 9 ай бұрын
I recommend learning Swift, at least play with it and get to know some of the language concepts and decisions in Swift. It’s pretty neat IMHO, from things like progressive discourse and safety by default to having clear and easy distinction between reference and value types and semantics, abstract generic algorithms and protocol oriented programming. Swift and Rust have many things in common, e.g safety by default, but some key decisions in the Swift Language make it so much more expensive while reducing complexity compared to Rust, e.g an easy foot gun is accidentally creating leaky abstractions. It’s worth to mention my bias, my nerdy heart finds it rather beautiful language ❤ just take a look at the standard library, e.g protocols like Sequence and Numeric
@AdrianBoyko
@AdrianBoyko 9 ай бұрын
Predecessor language is C or C++? Are they forbidden to mention Objective-C?
@pinkorcyanbutlong5651
@pinkorcyanbutlong5651 9 ай бұрын
we don't speak of objective-c
@robchr
@robchr 6 ай бұрын
Are they using Swift in the Kernel?
@guyor4761
@guyor4761 9 ай бұрын
22:55 I like the rust lingo better - impl Trait for Struct
@chovuse
@chovuse 9 ай бұрын
Nice presentation. But the code Syntax could have been larger.
@Morimea
@Morimea 8 ай бұрын
12:58 "lets talk little bit about language model" - flashbacks
@JamesPower
@JamesPower 6 ай бұрын
C++ interop seems simpler than C (which i think requires an ObjC bridge?)
@michaelnajera7958
@michaelnajera7958 8 ай бұрын
“[swift] is equally supported on other platforms” that is not entirely accurate.
@encapsulatio
@encapsulatio 7 ай бұрын
Can you elaborate? Just how worse is developing in Swift on Linux? What about successfully cross compiling Sift software on Windows, Linux, Android?
@marcinkliks6522
@marcinkliks6522 7 ай бұрын
It has the same release train for all platforms and they all receive all the patches. There are some differences between platforms but it’s not a big deal imo
"The Trouble With Types" by Martin Odersky (2013)
48:52
Strange Loop Conference
Рет қаралды 14 М.
New model rc bird unboxing and testing
00:10
Ruhul Shorts
Рет қаралды 24 МЛН
Iron Chin ✅ Isaih made this look too easy
00:13
Power Slap
Рет қаралды 32 МЛН
DEFINITELY NOT HAPPENING ON MY WATCH! 😒
00:12
Laro Benz
Рет қаралды 59 МЛН
Deploy Server-Side Swift to Vercel
14:55
Andrew Barba
Рет қаралды 910
"The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023)
43:58
Strange Loop Conference
Рет қаралды 121 М.
Swift Concurrency Manifesto | Chris Lattner and Lex Fridman
10:59
Swift 5.9 Released | Prime Reacts
14:36
ThePrimeTime
Рет қаралды 65 М.
Is C++ better than C?
1:46:10
Tsoding Daily
Рет қаралды 42 М.
"Why Programming Languages Matter" by Andrew Black
56:39
Strange Loop Conference
Рет қаралды 26 М.
Python vs Swift | Chris Lattner and Lex Fridman
11:16
Lex Clips
Рет қаралды 151 М.
Mojo🔥: a deep dive on ownership with Chris Lattner
48:50
"Software & The Game of Go" by David Nolen (Strange Loop 2023)
34:08
Strange Loop Conference
Рет қаралды 6 М.
"From Geometry to Algebra and Back Again: 4000 Years of Papers" by Jack Rusher
31:35
EXEED VX 2024: Не өзгерді?
9:06
Oljas Oqas
Рет қаралды 49 М.
Todos os modelos de smartphone
0:20
Spider Slack
Рет қаралды 60 МЛН
iPhone socket cleaning #Fixit
0:30
Tamar DB (mt)
Рет қаралды 15 МЛН
iPhone 15 Pro в реальной жизни
24:07
HUDAKOV
Рет қаралды 433 М.