Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf AU 2016: Rampant side effects. The shifting sands of mutable state beneath your feet. Mocks as far as the eye can see. Enter Functional Programming. Functional Programming helps you write clear, maintainable and testable code. This talk will cover the core principles of functional programming, how to apply them in ruby, the benefits they can offer, and how to introduce them to other developers.
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 video titled "Functional Programming for Rubyists" presented by Bianca Gibson at RubyConf AU 2016 delves into how functional programming can address common issues in Ruby applications, particularly those related to mutable state and side effects. The talk provides insights into the core principles of functional programming and its application in Ruby, promoting clearer, maintainable, and testable code. Key points covered in the presentation include: - **Immutability**: Highlighting the importance of non-mutative programming, where instead of changing values, new ones are created. This eliminates confusion regarding value and reference passing. - **Managing Side Effects**: Discussing how to handle interactions with the external world (like printing or network calls) by keeping side effects separate from core logic, making the code more testable and understandable. - **Referential Transparency**: Describing how functions that always return the same output for the same input simplify code reasoning and avoid unpredictable behaviors. - **Common Pitfalls**: Addressing challenges in teaching functional programming, emphasizing the importance of connecting theoretical concepts, like monads, to practical examples that developers encounter. - **Examples**: Illustrating a shopping cart calculation with both mutable and immutable approaches, demonstrating the clarity added by immutability through recursive solutions and higher-order functions. The talk also provides practical advice on how to introduce functional programming techniques in existing projects, not just new initiatives. Additionally, resources for further learning are shared, including the book "Refactoring Ruby with Monads". The overarching message emphasizes that functional programming doesn’t eliminate side effects but rather manages them for clearer intent and more predictable outcomes. In conclusion, Bianca Gibson encourages developers to explore functional programming principles to foster greater code clarity and maintainability, allowing teams to work more effectively. She invites attendees to reach out with questions and expresses opportunities for joining her team at REA.
Suggest modifications
Cancel