Dynamic vs Static
October 10, 2006 · 3 Comments
Vince Bonfanti often posts some interesting pieces on programming at large so I enjoy his blog (well, when he's not promoting BlueDragon :)
He has posted several pieces about dynamic programming vs static programming and his latest entry about the (lack of) scalability of dynamic programming is very poignant given the current buzz around duck typing.
I'm an advocate of dynamic languages but I am also an advocate of static analysis. Back in the early 90's, I worked for a software QA company that specialized in source code analysis. Our pitch was that we would go into any company and, in less than three hours of source code analysis, we'd find a bug they'd spent weeks (or even months) looking for. Studies back then showed that static analysis found 80% more bugs than dynamic analysis.
However, one thing that people seem to miss is that you can perform static analysis of any language, including dynamic ones. My PhD work involved creating static analysis tools for dynamic languages, including a Prolog program for deducing the type safety of programs written in a typeless functional language.
Now, that's not to say I disagree with Vince on his reasons for highlighting the quote he pulled for this article - it's a caution that dynamic languages are not a silver bullet. Just because one or two uber-programmers can build a site in a few weeks does not mean that the end result is a scalable, maintainable long-term solution.
There's a lot of buzz about Ruby on Rails but we, as ColdFusion developers, are used to building sites quickly using a dynamic language. Yet some people want to take pot-shots at that and try to convince us that ColdFusion needs to become a static language to move forward. Do we need to become Java Lite? Not in my book.
I've built large systems in dynamic lanaguages. I've built large systems in static languages too. Neither is necessarily better or worse than the other in terms of maintainability - if you know what you are doing.
Tags: coldfusion

3 responses so far ↓
1 George // Oct 17, 2006 at 6:45 PM
2 NT // Jan 14, 2009 at 4:13 PM
3 Sean Corfield // Jan 14, 2009 at 4:49 PM
Leave a Comment