This week's book giveaway is in the Clojure forum.
We're giving away four copies of Clojure in Action and have Amit Rathore and Francis Avila on-line!
See this thread for details.
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Is XP an UnSelfConsciousProcess

 
HS Thomas
Ranch Hand
Posts: 3404
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
An Interesting perspective : Treat a system like a lump of clay. There can be no advance notion of what the sytem will be. Working and shaping the clay, the clay forms itself.
Is XP an UnSelfConsciousProcess
"When I was in college, I took a ceramics class and my sculptures never seemed to work out. I would start with preconceived notions and then try to mold the clay into those notions, not spending much time trying to learn what the clay was telling me. The best sculptures, meanwhile, were coming from a woman who seemed to work without any conscious thought at all. She just plunked down a giant hunk of clay and started moving it around, discovering the shape the clay wanted as she went along. Her works were gorgeous, sumptuous loopy objects, monumental and playful at the same time.
Incidentally, she seemed much happier than me, too. "
regards
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
So I just start coding. I let the program tell me what it wants to be. I might get a word processor. Or a heart monitor. Or a shooter game.
Sorry, just goofin.
I kinda liked the discussion of the closer connection to your code in Smalltalk because the file system, compiler, listings, all those things are taken away. But I don't really buy that a Java programmer cannot achieve a Zen state of oneness with the code. When you're in the zone the couple seconds it takes to compile doesn't matter.
The drawing of mapping a physical problem space to a logical one, designing a logical solution, then building a physical solution is exactly one that we drew in the 80s when Ed Yourdon's books were new. I don't think XP eliminates that, just does it in iterations as short as "write a test, make it run."
[ November 11, 2003: Message edited by: Stan James ]
 
Ernest Friedman-Hill
author and iconoclast
Marshal
Pie
Posts: 24204
34
Chrome Eclipse IDE Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Two separate thoughts:
1) The story about "finding the shape in the clay" is curious. I've done some woodcarving over the years, and in that context it's fairly common to hear this idea of "finding the shape inside the wood." People say that about marble, too.
But both wood and marble have grain and internal structure to them. Clay has none. There is nothing special about a given piece of clay that says it should be this shape or that. While wood or marble really can guide you, clay cannot. If you try to cut marble in a way it doesn't want to be cut, it can shatter. If you think you're being guided by clay, though, it's like a ouiji board, just the power of suggestion. The shape is actually all in your mind.
Is code like clay, or like marble? I think you could make a good argument that particular languages are like different woods and marbles, because a language can make writing certain kinds of software easier or harder.
2) Another thought: there are, broadly, two kinds of sculpture: representational and nonrepresentational. You're either trying to make a sculpture of something, or you're just looking to express an idea or feeling.
When you're doing nonrepresentational sculpture, you can let the materials guide you. But when you're doing representational art, you have to coax the material into following your wishes.
Is there such a thing as nonrepresentational software? I would say not, but maybe someone else has another opinion.
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Ernest Friedman-Hill:
Is there such a thing as nonrepresentational software? I would say not, but maybe someone else has another opinion.

I think software does have both aspects.
There is the representational aspect - the functionality the customer is asking for. I guess that is what you were thinking about above. If the customer wants a payroll system, it wouldn't be wise to tell him "but the code wanted to be a tetris clone!"
But there is also an important nonrepresentational aspect - the way in which the functionality is achieved, the internal design. Here you *can* let your design decisions be guided by the existing code. With some experience regarding refactoring, it can feel as if "that method wants to be on a different class", for example. (Possibly you also need some zen-like imagination... )
 
Ernest Friedman-Hill
author and iconoclast
Marshal
Pie
Posts: 24204
34
Chrome Eclipse IDE Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

With some experience regarding refactoring, it can feel as if "that method wants to be on a different class", for example.

Excellent point, Ilja. Yes, you're right.
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
With some experience regarding refactoring, it can feel as if "that method wants to be on a different class", for example.

Hey, who's in charge here? You gonna go around spoiling code giving it everything it wants? Be a parent! Oh, wait, I'm not at home. But it's time to go there.
 
HS Thomas
Ranch Hand
Posts: 3404
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Talking of parenting , is there such a thing as an over-protective parent in OO terms ? If the method feels like it ought to be somewhere else , let it go......
regards
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic