Dynamic Languages
                                are
                             The Future


                              Robert C. Martin
                             Object Mentor Inc.




                                                  Copyright © 2010 by Robert C. Martin
                                                  All Rights Reserved.

Tuesday, March 9, 2010
Static Languages Rule.




Tuesday, March 9, 2010
1980: C vs. Pascal




Tuesday, March 9, 2010
1986: C++, A “Better” C




Tuesday, March 9, 2010
1990s: C++ vs Smalltalk
             Productivity vs. Safety




Tuesday, March 9, 2010
Why are Dynamic Languages
         more Productive?
               OO.




Tuesday, March 9, 2010
Dependency Management
                     and
                     DIP




Tuesday, March 9, 2010
Dependency Inversion

     Source code dependencies oppose the flow of control


                                Caller




                                           Flow of Control
                               Interface




                                Callee




Tuesday, March 9, 2010
The Ultimate Problem of Static Typing.




Tuesday, March 9, 2010
Dynamically Typed Solution
     All dependencies are run-time only.
     Dashed lines don’t know type.
     Solid lines know type.
                                                       Shape
                                                      Factory
                             Application
                                                    make_square
                                                    make_circle




                         Square            Circle




Tuesday, March 9, 2010
Fewer lines. More Flexible.
              Productive.




Tuesday, March 9, 2010
Productivity of Languages.




     http://barnesc.blogspot.com/2006/05/programming-language-productivity.html


Tuesday, March 9, 2010
Productivity of Languages.




     http://wwwipd.ira.uka.de/~prechelt/Biblio/jccpprtTR.pdf

Tuesday, March 9, 2010
But, in the end, safety won.




Tuesday, March 9, 2010
1999: TDD




Tuesday, March 9, 2010
The Three Laws




Tuesday, March 9, 2010
The Litany of Benefits.




Tuesday, March 9, 2010
Professionalism and TDD




Tuesday, March 9, 2010
TDD safety replaces Static
               safety?




Tuesday, March 9, 2010
fin
                     •   unclebob @ objectmentor.com
                     •   fitnesse.org
                     •   cleancodeproject.com




Tuesday, March 9, 2010
“Too easy to make a mess”
                    -- Ward Cunningham




Tuesday, March 9, 2010
20 years wandering in the
                 wilderness.




Tuesday, March 9, 2010

Dynamic Languages Are The Future