I have finished the video and I would like to pick on (I will limit myself to) one thing…
Both examples EVERY time were OO examples. OOP is not about just state modification. It is about organizing objects with methods.
Functional in contrast is about functions as opposed to methods, and doesn’t deal much with structure. That is why it is naturally immutable and stateless. You could have used a module in every ‘functional’ example (think FileUtils or countless other stdlib utils)
But in reality, pure functional programming in Ruby is done in lambdas, and on the object namespace. You didn’t show that.
What you guys were really demonstrating was state modification and a bit about hierarchy and inheritance vs immutable programming. Imperative, procedural vs functional, explicit.
Ok, I lied… one more thing.
Ifs and loops are Imperative Programming, not OOP. SmallTalk? I can OOP all day long without ever using an if or case. I start with them, then I concretize them away.
I am always available for discussion.
The weekly iteration is THE BEST regularly released ruby screencast, absolutely. I wasn’t very happy with that 2 week break in my Joe and Ben fix! Please keep it up.