This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Simpler Syntax, Simpler Refactorings
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Travis relays some thoughts from an OOPSLA workshop on refactoring:
One of the things that struck me in this workshop as well as some other presentations, is how valuable having a simple syntax is. The guys working on the Eclipse refactorings for Java have an object model of the AST that has 100+ node types. Having been working on the RB formatter lately, with its AST object model which has 11 concrete node types, I can see how fortunate I am. When you have 100+ node types, whatever you're doing with it, whether it is refactoring or pretty-printing, the number of combinations becomes a geometric complexity. That was born out in some of the side discussions. Apparently, while many of the basic refactorings that we have in the Refactoring Browser are enjoyed by the Eclipse/Java folks, there's a long list of bugs of various edge cases where they don't work. This is sad and unfortunate, but it's not surprising when your AST is that complex.
I find that fascinating. The conventional wisdom is that it's easier to build refactoring support for a static language (like Java) than it is for a dynamic language (like Smalltalk). The reality seems to be a bit more complicated than that.