Discussion of Static vs. Dynamic Typing

I’ve tried to stay out of this debate. It is pretty non-sensical, as most religious debates are–vi vs. emacs, brace styles, etc. However, Robert Cooper makes some good points for consideration in defense of static typing. The first one, right off the bat, has nothing to do with safety but touches on one of my favorite programming principals: intentionality. His other points are well made and well substantiated.

I even tend to think that his points, if well received, might help improve dynamic languages, in this case specifically Ruby, without having to give up the advantages of dynamic typing. Unfortunately, when the original poster to whom Robert is responding thinks it is realistic or practical to just fire people for making mistakes that a bit more intelligence in the language design could easily help resolve–well, good reception might be asking for too much.

2 Replies to “Discussion of Static vs. Dynamic Typing”

  1. Hey, thanks for the positive mention! 😛

    I actually found this through technorati, though I am a fan of the podcast.

    Looking at the site, I find it interesting. Podcasts are hard to comment on aren’t they? I have quite the subscription list, but even places where I would want to send feedback on, I rarely do because I am usually listening to a podcast while AFK.

    At any rate, yeah. In all fairness to the Ruby, his blog post isn’t really representative of reasonably minded people, but kind of like a Sean Hannity quote, it sums up what seems to be the argument of a particular viewpoint. I don’t know if it is really vi vs emacs (though all sane people know emacs rules all :P). It really seems to me like people have an unrealistic expectation from Ruby as “the next big thing.” At the end of the day, the Ruby evangelism seems akin to saying that “bash scripting is the end all be all.” Everything has its place, and there are some places where loose scripting is better, because you can get the easy stuff done faster. There are, however, points at which that breaks down.

    You are right about intentionality. It isn’t really about typing, but I think this goes to part of the problem with the Ruby evangelism right now: Ruby doesn’t live in the “enterprise.” When you are dealing with large IT organization, API exposure and sharing code across teams is critical do “doing it well.” I can’t recall who said it (Zawodny?), but the thing with Ruby is “it works great if you have an all star team that cares”. I think that is really true — and I think this was the point pat was riffing on — but you also have to have a codebase that is pretty much confined to that one team. When you have 150 developers in 20 teams in a big company, intentionality becomes critical. Code is communication between teams in this case, and if the code is less than clear, you are hurting the company. You can’t just “fire” someone outside your group because they don’t “get” what you are doing.

  2. Glad you like the podcast, cooper. I do include the number for the listener comment line in the title of each cast to try to make commenting a bit easier. I “borrowed” that tip from Podcast 411.

    Anyway, I certainly see your point about the pundit-like nature of the original poster. I would hope that most folks would get what an extreme view he has from his suggestion of firing folks that are not “smart enough”.

    On the whole I prefer, obviously, more balanced commentary from open minded enthusiasts who are more interested in how cross pollination can improve the entire ecology rather than in having a monoculture with all its inherent problems and dangers.

Leave a Reply

Your email address will not be published. Required fields are marked *