What does it mean to think like a functional programmer? Why is it so hard to adopt functional programming if you are steeped in OO? In this talk I’ll address these questions, using ideas from the philosophy of science. The talk will give new insight into the process of becoming productive in Scala, and the mindset needed to aid this process.
Using the framework of “The Structure of Scientific Revolutions” we can see programming as undergoing three revolutions: structured programming, object-oriented programming, and now, functional programming. Each revolution brings with a new paradigm—basic assumptions and values that make moving across paradigms difficult to achieve.
In this talk I’ll describe the paradigm of the functional programmer: what is valued and, what is considered good code. I will contrast this to the paradigm of the object-oriented programmer, and finally consider if it is possible to reconcile these two approaches to programming.
This talk will be given by Noel Welsh at Scala Days Berlin in Berlin on 17 June 2016.