Cameron Presley

Camp Counselor

Learning Functional Programming Through Construction: First Principles

Event Logo

Wednesday, July 28, 2021 - 7:30 PM UTC, for 1 hour.

Regular, 60 minute presentation

Room: African 70 & African 80

functional programming
typescript
c#

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
favorited by:
Joe Forsythe Tad Hadtrath Josh Gretz Cameron Lengerich Jacob Galloway Brandon Belman Kevin Kelchen Jennifer Johnson Andy Lester Brandon Minnick Timothy Tyson Ken Samson Steven Hicks Rob Linxweiler Christopher Ebbert Ryan Vecitis John Pires Ryan Wisniewski Shawn Cannon