Functional Programming in C++
In a world of ever increasing parallelism and concurrency, the complexity of software systems is not going to stop increasing as well. That's why functional programming is becoming each day more and more a hot topic, leaving academia and eventually approaching industry.
That is also why functional programming languages are gaining traction, and functional features are becoming standard in any reasonable programming language, so much that even Java now has lambda expressions. However, functional programming is not only about language features, but first of all it is a completely different way of thinking about how to solve problems and how to design the architecture of our software.
With the aid of concrete examples of bleeding edge C++ libraries such as Ranges v3 and Boost.Hana, this talk will guide the willing C++ programmer through the world of functional programming using our favourite language. This walkthrough will range from basic concepts like immutable state and the use of functions as first citizens, to more elaborate buildings such as lazy evaluated ranges and data structures, and powerful abstractions like functors and monads, to end with a survey of what C++17 will bring to the table.
Speaker: Nicola Gigante
Slides: Functional Programming in C++