Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
RubyConf 2016 - Ruby versus the Titans of FP by Cassandra Cruz Clojure, Haskell and Javascript reign as the dominant functional languages of our era. But surely anything they can do, Ruby can do better? And what is it that they actually do? Come learn about three core concepts of functional programming, and see how Ruby stacks up against its peers when it comes to making them powerful.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The keynote titled "Ruby versus the Titans of FP" presented by Cassandra Cruz at RubyConf 2016 explores the functional programming capabilities of Ruby in comparison with major functional programming languages such as Clojure, Haskell, and JavaScript. Cruz, a hobbyist programmer with a decade of experience, shares insights from her recent experiences with Ruby while applying functional programming concepts. **Key Points Discussed:** - **Introduction to Functional Programming (FP):** - FP focuses on functions as transformations rather than objects, promoting separation of logic and internal state. - Cruz highlights common misunderstandings about functional programming definitions, emphasizing a pragmatic view where functions operate on generic objects. - **Core Functional Programming Features:** - Five key features of functional programming are identified: higher-order functions, currying, composition, functional purity, and immutability. Only three are discussed in depth during the talk. - Higher-order functions are highlighted for their utility in creating reusable and composable logic. - **Comparative Analysis with Clojure:** - Clojure, a Lisp language, is examined for its support of higher-order functions and mutable data structures. - The use of the `map` function in Clojure is explained as a means to transform collections, showcasing its simplicity and elegance. - Ruby's ability to implement a similar `map` functionality is demonstrated using Procs. - **Explore Haskell's Currying:** - Haskell's pure functional approach and its currying are introduced. Cruz explains that functions can be applied with fewer arguments, returning a new function waiting for the remaining arguments. - An example of implementing currying in Ruby illustrates how it can ease function composition, generating concise and effective logic. - **JavaScript's Role:** - Cruz discusses JavaScript's first-class functions but notes its limitations regarding functional programming features within its core API. - She mentions libraries like Underscore, Lodash, and Ramda, the latter being notable for its curried functions and functional programming paradigms. - The importance of point-free style and composition is highlighted, demonstrating how these concepts can enhance code reusability and clarity. - **Conclusion and Call for Community Engagement:** - By analyzing Ruby in conjunction with these languages, Cruz concludes that Ruby can effectively incorporate functional programming principles, albeit less traditionally than its counterparts. - She encourages community involvement, particularly in open-source functional programming projects, and emphasizes the importance of mentorship and collaboration. Overall, the presentation illustrates that while Ruby is primarily object-oriented, it possesses capabilities to adopt functional programming paradigms, opening new avenues for development.
Suggest modifications
Cancel