Introducing a Memory-Safe Successor Language in Large C++ Code Bases
Offered By: CppNow via YouTube
Course Description
Overview
Explore the challenges and solutions of introducing a memory-safe successor language in large C++ code bases in this conference talk from CppNow 2023. Delve into the limitations of incrementally improving C++ and the advantages of adopting a new language like Swift. Learn about Swift's design aspects that make it suitable for integration into existing code bases, its C++ interoperability features, and the lessons learned from rolling out a memory-safe language in a large software ecosystem. Gain insights into key concepts such as uninitialized memory, integer overflow, pointer safety, and Swift's approach to local variables, types, undefined behavior, generic functions, exceptions, and concurrency. Discover strategies for incremental adoption, refactoring, and managing team psychology when transitioning to a memory-safe language.
Syllabus
Introduction
Apples predecessor languages
Problems with C
Mitigation
The biggest problem
Uninitialized memory
Initialize local variables
The real problem
Integer overflow
Bounce checks
pointers and local reasoning
pointers follow stricter rules
Can we fix these problems without a new language
Our successful language is Swift
Swift is a successful language
Local variables
Types
Undefined Behavior
Generic Functions
Swift
Swift Exceptions
Concurrency
Data Isolation
Moving This Way
Three Key Ideas
Be Incremental
The Second System Effect
You Never Succeed
Refactor
Moving Forward
Team Psychology
Taught by
CppNow
Related Courses
Software as a ServiceUniversity of California, Berkeley via Coursera Software Testing
University of Utah via Udacity The Hardware/Software Interface
University of Washington via Coursera Software Debugging
Saarland University via Udacity Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera