Lambdas: The Functional Programming Companion of Modern C++

location_city Bengaluru schedule Nov 15th 04:00 - 04:45 PM place Meeting Room 1 people 18 Interested

C++ as a Programming Languages had ruled the programming world for quite some time. It was so much synonymous to Object Oriented Programming that when functional programming came into the picture, nobody initially thought of C++ as a candidate for the same.

Fortunately, the C++ Standardization (isocpp.org) committee had a different idea and they later came up with C++11 which was a paradigm shift in the language. C++ now not only allows programmers to write functional code, but it has also evolved the language into a meta programming language.

The core of these changes which enables functional programming in C++ revolves around the introduction of Lambdas. Suddenly, with lambdas, we’re not only writing functional code in C++ but can also have functional threads, functional locks, and functional memory management.

The beauty of lambdas can also be judged from the fact that it has also made many of the STL (Standard Template Library) algorithms functional which, along with the concepts and ideas of Closures makes C++ an ideal candidate to be considered for writing functional codes which includes immutability, Partial function specialization, and pattern matching.

In this talk, I’ll take you on the journey of functional Programming in modern C++ and how to write awesome and simple C++ code which conforms to all tenets of Functional Programming.

The talk shall contain full fledged examples which shall be made available to participants post conference

We’ll also see how the language has evolved and why it’s still a favorite for doing performance intensive jobs which we can, of course, do in a functional way

 
 

Outline/Structure of the Talk

Here is the proposed outline of my session and expected amount of time it will take

  • Introduction of functional programming and C++11 (Changes, History & Future) - ~ 7 - 10 Mins
  • Lambdas and Closures in C++ ~ 5 Mins
  • Immutability and Partial function Specialization - ~8 - 10 Mins
  • Functional MultiThreading with Lambdas. - ~8 - 10 Mins
  • Lambdas in STL - ~ 7 - 10 Mins
  • Interesting Addons like Pattern Matching with Lambdas - ~ 5 Mins
  • Q & A ~ Rest of the available time

Learning Outcome

The participants of this talk shall be able to understand the changes that makes C++ a functional programming language. They will also be able to understand how to write functional code in new C++

Target Audience

Programmers acquainted with basics of Object Oriented Programming in C++ or Functional Programmers of any other language

Prerequisites for Attendees

General awareness of C++ Programming is required to understand this talk. However, people with knowledge of languages like Java & Scala can also understand the contents.

schedule Submitted 1 year ago

Public Feedback