Hinweis: Die aktuelle OOP-Konferenz finden Sie hier!
SIGS DATACOM Fachinformationen für IT-Professionals

SOFTWARE MEETS BUSINESS:

The Conference for Software Architectures

Munich, 01 - 05 February 2016

Conference

Talk: Mi 1.2
Date: Wed, 03.02.2016
Time: 11:00 - 11:45
cart

Functional C++

Time: 11:00 - 11:45
Talk: Mi 1.2

 

Functional C++? As opposed to what – dysfunctional? Well, kind of, yeah. Sure, in C++ the principal unit of composition is called a function, but that doesn‘t mean it‘s a functional language. This talk looks at how to express functional programming ideas in (post)modern C++ in a way that can be considered idiomatic to C++: immutability beyond const and into shared and persistent data structures, concurrency beyond threading and locks, and thinking about functions as transformations and units of composition rather than actions.

Target Audience: C++ developers, functional programmers
Prerequisites: Some practical knowledge of C++
Level: Practicing

You will learn:

  • Better knowledge of functional programming
  • Better knowledge of C++11/14
  • Better knowledge of how to apply functional ideas in C++

Extended Abstract:
Functional C++? As opposed to what - dysfunctional? Well, kind of, yeah. Sure, in C++ the principal unit of composition is called a function, but that doesn't mean it's a functional language. And the idea of restricting mutability of state gets a nod with const, but it's a nod not a hug. And the STL shows influences of functional programming, although it falls short of being compositional. And, yes, sure, C++11 has lambdas, but then again, these days, who doesn't? Lambda calculus was invented in the 1930s.
This talk looks at how to express functional programming ideas in (post)modern C++ in a way that can be considered idiomatic to C++, rather than trying to use the power of overloading and metaprogramming to pretend C++ is Haskell or Lisp. In short, immutability beyond const and into shared and persistent data structures, concurrency beyond threading and locks, and thinking about functions as transformations and units of composition rather than actions.