Learning Functional Programming Through Construction: First Principles
Wednesday, July 28, 2021 - 7:30 PM UTC, for 1 hour.
Regular, 60 minute presentation
Room: African 70 & African 80
Functional programming has seen a dramatic increase in popularity over the last few years which has lead to an explosion of resources in learning these concepts. But, between languages (Haskell, Elm, PureScript, F#), libraries (Ramda, fp-ts), and concepts (Monads, Monoids, Functors), it can be overwhelming in determining where to start and how to begin. In this talk, I'm going to show you three fundamental concepts of functional programming: pure functions, immutability, and composition by not only explanation but we will walk through building these concepts into your code and applications. As we explore each concept, I'll show you the advantages of following these principles, how they will improve your development experience, and how they will set the stage for more advanced ideas. Intended for those who have experience with TypeScript or C#, by the end of this presentation, you will understand how pure functions lead to easier to test code, how immutability makes debugging easier, and how the power of compositions allows us to build bigger applications by combining smaller applications.
Prerequisites
Experience with programming in a language is helpful, but not required.
Take Aways
- The importance of immutability, pure functions, and composition when building software
- How to refactor your code to take advantage of the three main principles