Quick note on static vs. dynamic typing

time to read 2 min | 220 words

I'm reading James Robertson's blog, mainly for the rants. I mostly agree with what he says, if not with the tone, but today I read something of his in the comments that really annoyed me.

Detection of a missing method is utterly irrelevant. Why? Because such a flaw would turn up in initial testing.

I just did a bunch of javascript, which is a dynamic language with just this kind of behavior. Sorry, this isn't even close to satisfying. I had about.. oh... maybe 50 lines of code, and I kept running into problems with method not found, etc.

If I don't have an IDE when I program (and I do significant work from Notepad2), I like to compile and see what went wrong. I usually don't get those method names correctly. I misspell, or mis capitalize, or forget to put a closing bracket or something.

A compile gives me all those errors in a format that I can see and fix immediately. Runtime errors means that I have to fix those erorrs one by one. This isn't fun.