What to Know Before Debating Type Systems

Posted on 2009-01-18 by Curt Sampson :: comments enabled

I don’t know how old it really is, but certainly for the last decade at least, since the rise of perl and Java, there’s been a constant debate about “static” versus “dynamic” typing systems.

I’ve seemingly flipped back and forth myself. I spent the ’90s doing things like tcl and perl hacking, started full-time in Java in ‘99, and even switched an entire company off Python and on to Java1. After that, Ruby snuck in to solve some of the frustrations of Java, and before I knew it I was doing all of my work in it. Then came Haskell. From the “usefulness of the type system” point of view, Haskell is really on the opposite end of the spectrum from Java, with Ruby in the middle, but you have to be somewhat less naïve than average to see this.

A good example of “as naïve as average” is the discussion about “static typing” in the article and comments on Steve Yegge’s Rhinos and Tigers blog post. He’s on exactly the same path as me, except that he’s still at the Ruby stage. (We’ll see if he stops being distracted by JavaScript for long enough to move forward.) I entirely understand dibblego’s frustration (though two years ago I would not have); unfortunately dibblego’s style is not likely to bring Stevey around.

Fortunately we’ve got a new contribution to the field: Chris Smith’s What to Know Before Debating Type Systems. It’s really only the very start of what one should know about this, but a great start it is.

  1. I suppose the shame of that is somewhat mitigated by having shortly afterwards torpedoed proposals to use Struts, mostly by pointing out that XML is still code, and thus we ended up with more code that was harder to maintain. That battle also continues into the Ruby on Rails world, but that’s a story for another day.

Add a comment »
comments are moderated