The Structure of Programming Revolutions
Explore the evolution of programming paradigms in this 45-minute Scala Days conference talk. Delve into the concept of "The Structure of Programming Revolutions," drawing parallels with the philosophy of science. Examine the transitions from structured programming to object-oriented programming, and now to functional programming. Gain insights into the mindset and values of functional programmers, contrasting them with object-oriented approaches. Investigate fundamental assumptions in programming, principles of simplicity, and control structures. Learn about the substitution model, compositionality, and the importance of avoiding state in functional programming. Analyze the role of expressions, types, and type derivation in this paradigm. Conclude by considering whether reconciliation between functional and object-oriented approaches is possible, followed by a Q&A session.