Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Introducing a Memory-Safe Successor Language in Large C++ Code Bases

CppNow via YouTube

Overview

This course aims to explore the key design aspects of a memory-safe successor language, Swift, and its integration into large C++ code bases. The learning outcomes include understanding how Swift's design makes it suitable for incremental adoption in existing code bases, utilizing Swift's C++ interoperability feature, and learning from real-world experiences of introducing a new language into a software ecosystem. The course teaches skills such as identifying problems in C++ related to memory safety, implementing memory-safe programming practices, and leveraging Swift's safety and expressiveness in C++ code bases. The teaching method involves a presentation by an industry expert with extensive experience in language design and implementation. The intended audience includes software developers, especially those working with large C++ code bases, interested in adopting memory-safe programming practices and exploring the integration of new languages into existing projects.

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

Reviews

Start your review of Introducing a Memory-Safe Successor Language in Large C++ Code Bases

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.