A middle-ground between Static and Dynamic Typing in Ruby?
by Sebastian Sogamoso
A dynamically typed language like Ruby gives us great freedom to do cool stuff, but at what cost? As developers we need to be conscious that that freedom comes with more responsibility.
Ruby gives us enough rope for us to hang ourselves. That means that it leaves more responsibility to us the developers. When using dynamically typed languages we are less confident of the correctness of the code which usually means we need to write more tests.
So why do we use dynamically typed languages like Ruby if it make our systems more susceptible to errors? Because it helps us to easily deal with the complexity implicit to the problems we're trying to solve, by helping us to easily embrace things like polymorphism, because it's easier to work with it , because it has a nice syntax and because we just love it!
Fortunately there are 'work-arounds' that helps us being a little bit more confident about the correctness of our code. In this talk we will go over techniques like asserting on type declarations which we can use to get that certainty.
 "I'm not against types, but I don't know of any type systems that aren't a complete pain, so I still like dynamic typing.", Alan Kay.
I craft great applications at a software consultancy called Stack Builders. I've been part of some pretty big Ruby projects. This talk is inspired by my love for Ruby, OOP, my experience working in large projects and Dan Ingalls talks about Smalltalk.