Registered: Nov, 2003
Could XP have created Smalltalk?
Posted: Jan 14, 2004 7:58 AM
As reflected in the interview, extreme programmers like the principle of 'You aren't gonna need it'.
I note that the originators of XP are also use Smalltalk.
Do you think that Extreme Programmers sometimes fail to see the limitations of there methodology. For example, I do not see how the XP approach could have ever produced Smalltalk.
In smalltalk everything is an object, including basic types such as integer. This strikes me as a big vision thing. If XPers were developing Smalltalk (in a pair, of course) I would imagine the conversation would go something like:
"We need to add together 2 numbers"
"OK, lets write an Integer object, I'll start on the tests."
"We always test first."
"No, I mean why develop an Integer Object. Integers are bytes, not objects."
"Yes, but shouldn't everything be an object."
"Are we going to need it?"
"It would be nice."
"Can we add these two numbers together without an integer object?"
"Then you aren't going to need it."
The Smalltalk environment strikes me as the product of some very high level thinking, the type of up front design that XP dismisses as unnecessary.
I would say that this type of forward thinking design created Smalltalk and OO as we now know it. The flexibility of that type of environment is what made the agile style of development possible. The only reason that XPers are able to take there approach is the support of the framework they work in.
They were able to use this support because it already existed, it was built into Smalltalk long before any of them ever even realised they might need it.
Certainly, there are problems when this type of up front design causes problems when applied to an unsuitable task.
However, I'm sure we will also find situations where trying to apply the XP methods, when up front design is needed, will also cause problems.