CppCon 2019: Gabriel Dos Reis “Programming with C++ Modules: Guide for the Working”
Vložit
- čas přidán 8. 06. 2024
- CppCon.org
-
Discussion & Comments: / cpp
-
Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2019
-
Modules are coming. The primary objective of this talk is to help the practicing software developer prepare for their effective usage. It examines software architecture requirements for programming in the large and linguistic support offered by the coming C++20 standards. The talk augments the programmer’s toolbox with new programming techniques based on componentization and isolation offered by C++ modules. Finally, it shows how the practitioner can start experimenting with these ideas with in-development compilers such as MSVC, GCC, and Clang.
-
Gabriel Dos Reis
Microsoft
Principal Software Engineer
Gabriel Dos Reis is a Principal Software Engineer at Microsoft, where he works in the area of large scale software construction, tools, and techniques. He is also a researcher, and a longtime member of the C++ community, author and co-author of numerous extensions to support large scale programming, compile-time and generic programming. His research interests include programming tools for dependable software. Prior to joining Microsoft, he was Assistant Professor at Texas A&M University. Dr. Dos Reis was a recipient of the 2012 National Science Foundation CAREER award for his research in compilers for dependable computational mathematics and educational activities.
-
Videos Filmed & Edited by Bash Films: www.BashFilms.com
*-----*
Register Now For CppCon 2022: cppcon.org/registration/
*-----*
Very very very excited to get this...
Amazing. Very good talk. Cannot wait.
Game changer
Wow! Ada has always had this.
I jumped around a bit, but it seems like you can't import by any schema other than "a local file"? If that's the case, it would put this module implementation way behind the curve already, before it's even out. There are of course issues around allowing this, but for example golang has come a long way in sorting this out already (i.e "go mod" in go 1.12 and up).
Importing modules directly from say github, being able to pin versions, and have them authenticated via a checksum database are all very good features that makes life for golang programmers easier. The golang people got this all wrong initially, but have managed to pivot. I hope the C++ standards people have learned from this.
What you describe sounds like a package manager to me.
Agreed, this is the duty of a package manager, not the C++ standards committee nor any implementer. One of the main purposes of C++ modules is to simplify the duty of package managers and build tools however. I suspect that cmake will be supplanted as the defacto build tool on *nix platforms by whatever module and package management tool integrates into the c++ modules ecosystem best.
Importing remote sources belongs to the build process, not the C++ spec. For example, when using Cmake: ExternalProject_Add
There will be a proposal to change the C++ name to Javascript++ 😂
Just kidding, haha! Very good talk, indeed!