Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
I love Ruby! But as in any relationship, to love means that you have to accept the "dark side" too! Ruby is human and has a lot of gotchas, tricks, wierdness and sometimes scary features that I plan to highlight. This talk aims to provide the "Ah-ha!" moments when working in Ruby. This talk is for beginners and experts alike - in fact, I tag slides to mark their level and beginners can choose to tune out of the heavy stuff! My talk shall cover the dark side of the following features of Ruby (in no particular order) Base Conversions Infinity Keywords method missing Module inheritance (it exists!) Curried Procs Cherry picking module methods Oniguruma games procs, blocks and my friend stubby. Object ids ==, ===, eql? and equal? and more... As with most of my talks, humor play an important role and I shall aim to get everyone high on Ruby with a deep dive! Help us caption & translate this video! http://amara.org/v/FG4U/
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
In the talk "The Dark Side of Ruby" by Gautam Rege, delivered at Garden City Ruby 2014, the speaker explores the peculiarities and complexities of the Ruby programming language. Aimed at both beginners and experts, Rege emphasizes understanding Ruby's quirks, which can often lead to 'A-ha!' moments during programming. Key points discussed include: - **Infinity in Ruby**: Rege explains the concept of infinity, specifically how it is represented in Ruby's Float class, and gives examples of equality comparisons utilizing infinity. - **Base Conversions**: The speaker introduces the idea of converting numbers into different bases, highlighting the limitations of radix support. - **The Star Operator**: Rege illustrates how the splat operator can be used for argument expansion and shows how keyword arguments behave differently. - **String Concatenation and Stabby Procs**: He introduces stabby procs, demonstrating their functionality and the differences between them and regular procs and lambdas. - **Equality Operators**: The distinctions between `==`, `===`, `eql?`, and `equal?` are clarified, with examples comparing object IDs and the implications of different comparisons. - **Currying**: Rege discusses currying in Ruby, using a slot machine example to show how it can form lambdas from partial arguments. - **Private and Protected Methods**: He challenges traditional Object-Oriented Programming concepts by revealing how private methods can actually be inherited in Ruby. - **Keywords and Modules**: Rege dives into the use of keywords and shows how to cherry-pick methods from modules while discussing their integration. Concluding his talk, Rege reflects on the reasons behind the title "The Dark Side of Ruby," noting the hidden complexities and quirks that developers must acknowledge. He encourages programmers to embrace these challenges to enhance their Ruby skills and understanding. The take-home message highlights that the so-called 'dark sides' are integral to mastering Ruby and that with great power comes the need for great responsibility in programming decisions.
Suggest modifications
Cancel