Modernizing C/C++ for the DevOps Era


Details
Agenda:
5:30-6:00 - Networking, happy hour and dinner with the JFrog community (beer, wine and CHIPOTLE!)
6:00-6:45 - Modern C++ for a DevOps Workflow, Diego Rodriguez-Losada Gonzalez and Luis Martinez de Bartolome
Diego and Luis will introduce the basic tools and a complete DevOps workflow for C and C++ languages. Topics covered will include; Using automatic tests, installing testing frameworks from Conan packages, and injecting and using them to test your packages while building them. This talk will also cover reproducible and automatic build environments and creating packages for developer tools. Finally, we will discuss the Jenkins integration and Artifactory plugin support for Conan package manager.
6:50-7:35 - New Tools for a More Functional C++, Sumant Tambe
Variants have been around in C++ for a long time and C++17 now has std::variant. We will compare inheritance and std::variant for their ability to model sum-types (a fancy name for tagged unions). We will see where each may be preferred over the other. (Yeah, I don't think variants are panacea). We will visit std::visit and discuss how it helps us model the pattern matching idiom.
Immutability is one of the core pillars of Functional Programming (FP). C++ now allows you to model deep immutability. We’ll look a way to do that using the standard library. We will explore if return std::move(*this) makes any sense in C++. Immutability may be a reason for that.
I’ll use some examples from Manning’s Functional Programming in C++[1], which I was privileged to review preprint. There is lot more to discuss. May be more next time!
[1] https://www.manning.com/books/functional-programming-in-cplusplus
7:35-8:00 - Q&A, closing and networking

Modernizing C/C++ for the DevOps Era