Steve Yegge, who works for Google (hehe), continues to push for dynamic languages, most notable JavaScript, in his latest blog, which is a transcript of an hour long speech. My god is he rambling, on and on, it requires a lot of speed reading to spot the interesting parts. He does, for example, point out that the rename-method refactoring in Java, isn’t all fool-proof either (compared to in dynamically typed languages, where many more bets are off) because, quote:
They miss every single instance of a method name that shows up in an XML configuration file, in a reflection layer, in a database persistence layer where you’re matching column names to fields in your classes. Every time you’ve deployed some code to some people out in the field…
Well, the thing is, IntelliJ finds most of these cases too. In all, I found the argument pretty lame.
In general it is hard to tackle a well-known guy like him on the net. Is he credible? Does he know what he is talking about? One commenter to his blog had a strong opinion:
Steve,
Some of these people ((who are really fanatical about strong typing)) are more likely to be offended by your compulsion to pass severely under-qualified comment on the topic; something you have done more than once before. The offense comes about because it is almost deliberately misleading to others who might have the desire to learn and are not in a position to know any better and may mistake your pseudo-scientific nonsense with warranted factual claims.I say "almost deliberate" because I am more inclined to believe your desire to continue doing this is a result of your ignorance rather than malice.
Ouch!
Unfortunately Steve is shooting hard in his own foot. What he says is really a trivial tautology: Rename in a static system is not fool proof if you MIX IT WITH A DYNAMIC SYSTEM, like “XML configuration file, in a reflection layer, in a database persistence layer”.
It’s lie saying “fresh water is not fresh if you mix it with salt water.” How clever!