|
|
|
Sponsored Link •
|
|
Advertisement
|
Bill Venners: Why is configuring with data or a mini-language better than coding?
Andy Hunt: You are trying to set up an environment where you can more directly,
concisely, and clearly express what the user wants. When there's one change in the real
world, you want to be able to make only one change in the code. By setting up an
environment that includes a dedicated domain language, you
come much closer to that goal. When something in the real world changes, you just change
one high level statement. If the entire system were coded in a regular programming language—Java,
C++, Ruby, whatever—you might have to change a dozen lines of code.
If you have a special purpose language or some configuration data more
closely tied to the real world, poof, you can just change one parameter. Metadata you helps you
avoid the multiplicative effect real world changes can have on the code base.
Come back Monday, March 31 for Part V of this conversation with Pragmatic Programmers Andy Hunt and Dave Thomas. If you'd like to receive a brief weekly email announcing new articles at Artima.com, please subscribe to the Artima Newsletter.
Never metadata you didn't like? Think refactoring is a better approach? How do you achieve agile code?
Discuss this article in the News & Ideas Forum topic,
Abstraction and Detail.
Resources
Andy Hunt and Dave Thomas are authors of The Pragmatic Programmer, which is available on Amazon.com at:
http://www.amazon.com/exec/obidos/ASIN/020161622X/
The Pragmatic Programmer's home page is here:
http://www.pragmaticprogrammer.com/
Dave Thomas was not the first person I've interviewed who mentioned the arcade
game Whack-a-Mole. James Gosling also called upon the versatile Whack-a-Mole
metaphor while pointing out that it is sometimes hard in
engineering to know if you've solved a problem or moved it:
http://www.artima.com/intv/gosling34.html
The Agile Manifesto is here:
http://agilemanifesto.org/
Ward's Wiki, the first WikiWikiWeb, created by Ward Cunningham, is here:
http://c2.com/cgi/wiki?WelcomeVisitors
Extreme Programming: A Gentle Introduction:
http://www.extremeprogramming.org/
XProgramming.com: An Extreme Programming Resource:
http://www.xprogramming.com/
|
Sponsored Links
|