Steve Yegge on Dynamic Languages
I don’t always agree with Mr. Yegge, but this is a great presentation/script on Dynamic Languages with some very interesting ideas and discussion topics.
One point that he never actually got to, but one that I think is worth more discussion - how do you maintain a million-line codebase w/out static types?
My answer is that with a good dynamic language, you have some seriously elegant features and patterns that allow you to keep the size of your codebase small. Essentially, you don’t maintain a million-line codebase - because it doesn’t take a million lines to write your application.
Which fits in with some of the agile concepts as well - if you are building a project in an agile style, the constant refactoring and removal of technical debt will keep the application smaller and lighter. The unit tests ensure a clean level of separation of concerns, the DRY and YAGNI principles reduce bloat.

May 24th, 2008 at 10:22 pm
There is of course no reason why a very large application wouldn’t grow to a million lines of code even with a dynamic language. But I still agree with you because I think it’s not the application, but the components that the application is build from. I think there is a minimum number of features and completeness of a reusable component, the problem with Java is that even if you develop using components, they will contain too many lines of code (with all the known side effects).