YoVDO

Definition-Checked Generics, Part 1 - The Why and How

Offered By: CppNow via YouTube

Tags

C++Now Courses Swift Courses Rust Courses Generic Programming Courses Type Erasure Courses Programming Language Design Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore definition-checked generic programming in this comprehensive conference talk from CppNow 2023. Dive into the advantages of checked generics over C++20 templates and concepts through a series of examples. Compare approaches from C++0x concepts, Swift, Rust, and Carbon, examining how they achieve fundamental benefits of definition checking. Investigate how this form of generic programming provides a better foundation across various language aspects. Delve into challenging aspects of building a compelling definition-checked generics system, surveying existing approaches and discussing limitations like undecidability and non-termination. Learn from industry experts Chandler Carruth, Josh Levenberg, and Richard Smith as they share insights from their work on the Carbon language project and explore the future of generic programming in C++ and C++-like languages.

Syllabus

Introduction
DefinitionChecked Generics
DefinitionChecking in C
Why is it important
C error messages
Is static typing useful
Shifting left
Type Erasure
Checked Generics in Practice
C Templates Concepts
Generic Functions
Constraints
Interface Parameters
Type Parameters
Implementation Parameters
Checked Generics in Other Languages
C
Swift
Protocols
Generic Function
Generic Variatics
Rust Traits
Rust Advanced Features
Rust Periodics
Interfaces
Checked vs Template
Chandler Carruth
Examples


Taught by

CppNow

Related Courses

Programmation sur iPhone et iPad
Sorbonne University via France Université Numerique
Intro to iOS App Development with Swift
Udacity
Programmation sur iPhone et iPad (partie I)
Université Pierre et Marie CURIE via France Université Numerique
iOS Networking with Swift
Udacity
Learn Swift Programming Syntax
Udacity