This post originated from an RSS feed registered with Ruby Buzz
by Obie Fernandez.
Original Post: Uncle Bob on Static v. Dynamic
Feed Title: Obie On Rails (Has It Been 9 Years Already?)
Feed URL: http://jroller.com/obie/feed/entries/rss
Feed Description: Obie Fernandez talks about life as a technologist, mostly as ramblings about software development and consulting. Nowadays it's pretty much all about Ruby and Ruby on Rails.
An article from 2003 by Robert C. Martin manages to stay fresh as the debate rages on whether dynamic languages like Python and Ruby can replace Java and C#. Rubyists, if you're also into Agile or work for a company that is trying to implement Agile methods then this article is great ammunition.
...I tried writing some applications in Python, and then Ruby (well known dynamically typed languages). I was not entirely surprised when I found that type issues simply never arose. My unit tests kept my code on the straight and narrow. I simply didn't need the static type checking that I had depended upon for so many years. I also realized that the flexibility of dynamically typed langauges makes writing code significantly easier. Modules are easier to write, and easier to change. There are no build time issues at all. Life in a dynamically typed world is fundamentally simpler.
I would argue, as I've done before, that any language that pushes you down the path of depending more on proper TDD and unit testing practices is intrinsically better that a language that does not. Mediocre programmers too often fall into the trap of "if it compiles it is probably okay".