This post originated from an RSS feed registered with Ruby Buzz
by Obie Fernandez.
Original Post: Undisciplined? Please Stop Writing Software
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.
Strong testing is fabulous, no doubt about it: the problem is that most
developers don't have the discipline to write and update their test
suites. The consequence is that, in the real world, there actually are
benefits to static typing in complex projects. One way of thinking
about static typing is as "just another test suite", except that it's a
test suite developers are less likely be lazy about or subvert.
Apparently that was an egregious enough assertion to cause my colleague Dave Hoover to dive into the static/dynamic issue with some great comments of his own, including:
I currently live in the real world of a complex project
written in a static langauge, and I observe daily what little
difference that compiler makes in the face of a mountain of untested
code. If you don't have the discipline to write tests for your
software, then please stop writing software,
and by all means, don't use dynamic languages. If people choose
strongly typed languages because most of their developers are
undisciplined, they've already lost. Paul Graham has more to
say about this.
I believe there is lukewarm support, if any, for Simon's position that static typing alleviates the pain of untested code. I did take under consideration his comments about credibility, in which he pointed out that James Gosling has much greater credibility than I do, since he's got a much longer and more celebrated career. As others pointed out and Simon himself acknowledges in the comments, one of the wonderful aspects of the blogsphere is that arguments based on authority and other fallacies are devalued. Simon says:
There?s nothing like public scrutiny for helping people tighten up their thoughts and ideas.