dynamic languages are the future
DESCRIPTION
These are the slides from Robert "Uncle Bob" Martin's talk at the Chicago Day of Mobile event held in March 2010. Slides posted with permission from Bob.TRANSCRIPT
![Page 1: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/1.jpg)
Dynamic Languagesare
The Future
Copyright © 2010 by Robert C. MartinAll Rights Reserved.
Robert C. MartinObject Mentor Inc.
Tuesday, March 9, 2010
![Page 2: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/2.jpg)
Static Languages Rule.
Tuesday, March 9, 2010
![Page 3: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/3.jpg)
1980: C vs. Pascal
Tuesday, March 9, 2010
![Page 4: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/4.jpg)
1986: C++, A “Better” C
Tuesday, March 9, 2010
![Page 5: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/5.jpg)
1990s: C++ vs SmalltalkProductivity vs. Safety
Tuesday, March 9, 2010
![Page 6: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/6.jpg)
Why are Dynamic Languages more Productive?
OO.
Tuesday, March 9, 2010
![Page 7: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/7.jpg)
Dependency ManagementandDIP
Tuesday, March 9, 2010
![Page 8: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/8.jpg)
Dependency Inversion
Source code dependencies oppose the flow of control
Interface
Callee
Caller
Flow of C
ontrol
Tuesday, March 9, 2010
![Page 9: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/9.jpg)
The Ultimate Problem of Static Typing.
Tuesday, March 9, 2010
![Page 10: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/10.jpg)
Dynamically Typed Solution
All dependencies are run-time only. Dashed lines don’t know type. Solid lines know type.
Application
Square Circle
make_squaremake_circle
Shape Factory
Tuesday, March 9, 2010
![Page 11: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/11.jpg)
Fewer lines. More Flexible.Productive.
Tuesday, March 9, 2010
![Page 12: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/12.jpg)
Productivity of Languages.
http://barnesc.blogspot.com/2006/05/programming-language-productivity.html
Tuesday, March 9, 2010
![Page 13: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/13.jpg)
Productivity of Languages.
http://wwwipd.ira.uka.de/~prechelt/Biblio/jccpprtTR.pdf
Tuesday, March 9, 2010
![Page 14: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/14.jpg)
But, in the end, safety won.
Tuesday, March 9, 2010
![Page 15: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/15.jpg)
1999: TDD
Tuesday, March 9, 2010
![Page 16: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/16.jpg)
The Three Laws
Tuesday, March 9, 2010
![Page 17: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/17.jpg)
The Litany of Benefits.
Tuesday, March 9, 2010
![Page 18: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/18.jpg)
Professionalism and TDD
Tuesday, March 9, 2010
![Page 19: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/19.jpg)
TDD safety replaces Static safety?
Tuesday, March 9, 2010
![Page 20: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/20.jpg)
fin• unclebob @ objectmentor.com• fitnesse.org• cleancodeproject.com
Tuesday, March 9, 2010
![Page 21: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/21.jpg)
“Too easy to make a mess” -- Ward Cunningham
Tuesday, March 9, 2010
![Page 22: Dynamic Languages Are The Future](https://reader030.vdocuments.site/reader030/viewer/2022020306/554cf63ab4c905a5138b4e46/html5/thumbnails/22.jpg)
20 years wandering in the wilderness.
Tuesday, March 9, 2010