Oral Abstract

Oral Contribution (O3.3) Jouke Roorda (Nikhef)

Theme: Evolution of software development and management

Functional programming: why you should care

The questionnaire the LOC of ADASS XXIX sent out to visitors of the previous ADASS contained several questions to poll the interest of the community in several topics. The question on functional programming showed that many members of our community do not know or even care about functional programming.
This result is in sharp contrast to recent developments in the (commercial) field of software engineering, where functional aspects and programming languages have become more popular and better integrated into many mainstream programming languages - even C++11 now has support for functional aspects -and software such as ROOT is starting to incorporate them in the hopes of letting researchers benefit of the features of functional thinking.
In this contribution, we will make the case for functional programming by explaining how adapting techniques from functional programming can help to make the code more reliable and helps keeping the consistency of the underlying data, while potentially benefiting from new algorithms without any work from the original author.
The goal of this talk is not to convince people to learn yet another programming language - most languages already support these aspects, but to think about what programming paradigm they want to use to make code that is resilient against programming errors and can handle.