Registered: Feb, 2004
Re: Refactoring addicts and dynamic languages
Posted: Mar 31, 2008 8:53 AM
> Smalltalk was the original breeding ground for all of the
> refactoring movement, including automated refactoring
> tools (see the original Refactoring Browser).
> And there are very few languages that are more dynamic (or
> less static, as you prefer) than smalltalk.
I have all the respect for Smalltalk as the primordial soup from which all goodness came.
> Of course automated refactorings are, in a way, "less
> safe" and less bulletproof on smalltalk than in a language
> providing more static analysis support (thus more static
> information), but on the other hand the most interesting
> refactorings are not automated anyway, and if you
> only use push-button refactoring then you're not a
> refactoring addict, merely a push-button addict, and TDD
> (which also comes from the smalltalk community) makes
> errors due to refactoring much less likely.
Very good point! I am an automated refactoring addict. Refactoring in the large is a matter of discipline and pride in your work.
> Most of the time, when I hear people talking about
> dynamically typed languages being ill-suited for
> refactoring, they're people who don't want to think about
> what refactoring implies, don't want to understand how it
> came to be (e.g. read Refactoring) and in general purely
> rely on their tools and hope things will work out in the
I did not say anything about dynamic languages being ill suited. I did say that, for Ruby, I did not find a suitable tool yet. Aptana seems to be on a very ambitious path for their refactoring support and I wish them all the luck. At the same time, I am intrigued by both Scala and Duby as the middle ground between static typing and an expressive language.