Functional Programming in Ruby with Lambdas
Functional Programming in Ruby with Lambdas
The Problem
Object Oriented Design is powerful for organizing software behavior, but without the benefit of lambdas' code-as-data flexibility, in many cases it fails to reduce solutions to their simplest form.
Functional programming has been gaining popularity, and many Rubyists have embraced functional languages such as Elixir and Clojure. While Ruby generally isn't considered a functional language, it does have lambdas and a rich Enumerable library.
Although Ruby's Enumerable functionality is widely appreciated and used, its lambdas generally are not.
The Solution
This presentation introduces the developer to lambdas, and shows how they can be used to write software that is cleaner, simpler, and more flexible.
We'll go through lots of code fragments, exploring diverse ways of exploiting the power of lambdas, and identifying reusable functional design patterns along the way.
The Speaker
Keith Bennett (web site, Twitter, Github) is a long time software developer in the USA who started his software development career writing an in-house accounting package in Applesoft BASIC on an Apple II, and has since worked primarily with C, C++, Java, and Ruby.
He spent most of the four years preceding the pandemic living in Asia but is now hiding out in his Reston, Virginia apartment awaiting the opportunity to travel again.
His other interests include technical community, current events, foreign languages, karaoke, and becoming a better human being.