Explore the fundamentals of functional programming in this 49-minute conference talk from Scala Days Copenhagen 2017. Delve into the historical context of functional programming, tracing its origins from Lisp to modern abstractions. Gain a clear understanding of what functional programming is and isn't, examining key concepts like purity and immutability. Learn practical approaches to implementing functional programming in Scala for everyday work, focusing on underlying principles rather than complex abstractions. Discover how to separate syntactic sugar from core concepts, and understand the pragmatic benefits of adopting a functional programming style in your projects.