I played poker tonight with a bunch of techie-types in San Francisco. It was a fun crowd, and the game went well.
At one point the discussion got to languages, and the age old static versus dynamic language debate got going.
I heard all of the old gems:
I could never build anything large in a non-static language
This always makes me laugh, knowing that several HUGE systems have been built on dynamic languages.
It doesn’t make sense, as you can use discipline to build something large from anything. It is all about building modules and composing these modules. These modules may be packages, classes, etc… or they could be functions and non-OO.
A friend at the table then talked about how it is interesting that HTML is not statically typed, yet it has scaled pretty well. The internet architecture has made this happen. We are loosely coupled and modules (pages/site) are seperated out.
There are definitely pros and cons to the static vs. dynamic debate, but don’t go extreme to one side, and don’t be arragant enough to think that your way is right.
Always assume that some others are building better, larger, more scalable applications that you do… as it is probably and hopefully true :)