Anil has worked on Ruby full time for more than 6 years. He has recently worked a lot on Java, JavaScript and Node.js. He loves Ruby and is interested in clean code, design patterns and other good programming practices. He has contributed to different open source projects including Ruby on Rails. He works in 'Equal Experts', Pune where he follows TDD and good programming practices.
Anil dabbles with Clojure and he has been learning Scala for quite some time. He is looking forward to fully diving into the world of functional programming.
If you take the SOLID principles to their extremes, you arrive at something that makes Functional Programming look quite attractive. Objects are merely a poor man's closures. And ultimately closures are a poor man's objects.
This talk explains about how applying SOLID Design principles like Single Responsibility Principle (SRP) leads to many small classes. Furthermore, if you rigorously apply the Interface Segregation Principle (ISP), you'll eventually arrive at the ultimate Role Interface: an interface with a single method.
If you apply the SRP and ISP like that, you're likely to evolve a code base with many fine-grained classes that each have a single method.
Objects are data with behaviour. Closures too are data with behaviour.
This talk will enlighten how applying Object Oriented Design Principles to their extreme will lead you to Functional Programming. It's necessary for an Object Oriented programmer to understand why Functional programming makes sense. This talk will also explain the essential basics of Functional programming needed for every Object Oriented Programmer.
Slides