Refactoring and Smalltalk
A sexy new name for 'design'
Steve Taylor has emailed us with some interesting remarks on Pan Pantziarka’s review of Ken Pugh’s Prefactoring book:
“Your book review of 'Prefactoring' (pre-factoring? Isn't that what we used to call 'design'?) credits Martin Fowler's 1999 book with coining the term 'Refactoring'.”
Good point about "design", Steve, but if giving it a sexy new name gets people to actually do it, I'm all in favour!
“Similarly, I've noticed for ages how the word 'programmer' is prone to inflation - 'analyst', 'programmer/analyst', 'senior programmer', 'software architect' and so on - but I was tickled to discover that in the very early days of computing - barely post Enigma and Manhattan Project - people who created computer programs were 'coders' and 'programmer' was considered to be an affectation, brought over to America from the British computing scene”.]
But, back to Steve on Refactoring:
“While he [Fowler] certainly did plenty to popularise the concept, it's a bit older than that, with the Smalltalk Refactoring Browser being the first implementation I'm aware of. A look at the home page of Don Roberts, one of the authors of the original refactoring browser, shows a number of papers from earlier years.
“In fact, a history of the refactoring browser shows work going as far back as 1994. It's not immediately clear if the term 'refactoring' goes back quite that far, but it's certainly pre-Fowler”.
Very interesting, but I think we both agree that Fowler fairly deserves credit for getting the term “Refactoring” widely accepted...
The reference to Smalltalk reminded me of when I suggested to the CIO I was working for back in the 1990s that if we really wanted to introduce OO we should be pushing Smalltalk instead of C++; but, I was told, we had a lot of C programmers to keep happy. I wonder how much real OO we got in the end. But I left that place shortly afterwards, for somewhere where I felt more at home… Personally, BTW, I still have a soft spot for Simula, which influenced Smalltalk – I had to QA a port simulation written in Simula around 1982.
“I was lucky enough to have a Smalltalk job for a while in the '90s, before interest dried up. I still consider it a standout amongst all the other programming languages I've used - in some odd way it feels like you're working directly with objects, whereas in other languages you're manipulating them at a distance. As for Java - the old saw about "taking a shower in a raincoat" has some relevance.”
In fact, interest in Smalltalk hasn’t entirely dried up, it seems to me, and it has got easier to use, while its alleged “overheads scarcely matter anymore–, according to a chat I had a couple of years ago with James Robertson, once of ParcPlace, and now product manager for SmallTalk's new "owners", Cincom. Take a look at James’ blog (and others) here. Cincom’s Smalltalk is available for free download, for non-commercial use, here; or, you might like to try Squeak, a “highly portable open source Smalltalk with powerful multimedia facilities”.
There’s a list of many other Smalltalk implementations here.