Have you ever looked at Ruby code and struggled to grasp what the code actually does despite understanding all the Ruby language bits the code uses? Or maybe you’ve tried debugging a problem where the stack trace left you wondering, “How could the program possibly get to this place in the code?”
Code is what code does. But the code you write and the code that runs often seem to be two different things. How do we make sense of difference between the code we see in our editors and what we see our programs doing? Some people see these difficulties and urge us to abandon Ruby for “statically typed” languages. Hogwash! In this talk, we’ll look at Ruby code through the lens of the Rubinius platform. We’ll explore tools that expose the deeper structures in our code and help us understand the behavior of our programs. Whether you are just learning Ruby or know it well, you’ll be delighted to see how these Rubinius tools can give you a better understanding of your code.