On Principle
Jan. 27th, 2003 05:43 pmThought number one: One of the oldest page on my web site talks about a fuzzy area in my brain. I wrote:
I often have a big problem reconciling my anti-censorship stance against my strong anti-smoking stance. I can't. Despite my feelings of anti-censorship, I cheered when the Canadian Liberal government imposed tough new laws against tobacco advertising. I just feel too strongly about the evils of the tobacco industry.
That was back in 1996 that I first wrote that. A year or two afterward, I got e-mail from someone who said, "maybe it doesn't need to be reconciled." That e-mail has stuck in my mind ever since. I guess that, without even being aware of it, I had taken it as a given that some kind of consistent way of interacting with the world was a Good Thing. One must have principles.
Thought number two: There's the movie, The Contender, which I loved, in which the main character pretty much knows that she's going to lose the opportunity of a lifetime, but she's prepared to do that as a point of principle. I have huge respect for what that character does. But why? Why are principles worth sacrificing important stuff for?
Thought number three: I've been known to say, sometimes, that I really like pragmatism, but I think I'm most attracted to pragmatism as a concept. Do I contradict myself? Very well, I contradict myself.
I've been toying with these thoughts because of extreme programming. I work in a company that's pretty heavily invested in XP as a development methodology. I was initially won over to XP because of the driving metaphor. Kent Beck writes:
Driving is not about getting the car going in the right direction. Driving is about constantly paying attention, making a little correction this way, a little correction that way.
It appeals to my conceptually pragmatic nature.
But I still wrestle with stuff in XP. I'm pretty picky about design. Of all the architects at my company, I'm probably the most persnickety about high-level abstractions and designing for simplicity. There's really important stuff about emergent design that I wrestle with constantly. There are some really compelling books out there: Out of Control and The Design of Everyday Things. These books argue that amazing stuff happens when one trusts what emerges rather than try to control. And I wonder: am I stiffling stuff by being too fussy about what directions I'll allow design to evolve in? I dunno.
I have some architectural principles that I swear by. And I think they're tremendously important. But.
But.
I was reading this advice from Kent Beck to a Young Extremist. The Young Extremist wrote, "I have this vision of how I want the objects to be and what they need to do - and I don't seem to be communicating it very well." And Kent replied:
When we program, we are always engaged in a struggle to truly see. If we see clearly- what the users want, need, and fear; what our co-workers want, need, and fear; what we ourselves want, need, and fear; and finally what the system wants and needs (damn good thing computers can't fear!)- we work well and truly. Our systems are simple. Our thoughts are simple. We work without stress, without fear, with joy and love for our task and ourselves.
Visions of objects screw this entire process into the ground. When you already see the illusion of objects, you stop seeing everything that could tell you that you were wrong. The cases where our visions came true only exacerbate the problem, as we make the vision the goal, not the system.
Because envisioning feels good. It brings many of the good feelings that really programming brings, but it can't crash.
If that really is a failing of visions, then how far is it to principles? Principles can't crash either, can they? Sure there are all those "principles in collision"-type hypothetical exercises: "Suppose you went back in time to 1889, and had the chance to kill Hitler... blah blah blah". But ideals must always win out in the world of ideals, no? How can they fail?
(no subject)
Date: 2003-01-28 03:32 pm (UTC)My point is that as good as principles are, you should not be blinded by them.
(no subject)
Date: 2003-01-30 09:44 am (UTC)Priority Program
90 Smoking is Bad
50 Censorship is Bad
When processing - is censoring smoking ads bad, since the highest process it hits is smoking is bad - therefore not advertising it is good therefore censoring smoking ads is good - it never makes it down to the censorship process
(note - this process proves that your priority for "the movie the Hunger is good" is highter then your smoking is bad priority)
One must have principles.
Yes, but they dont' have to all hold the same weight.
Why are principles worth sacrificing important stuff for?
It is grey equastion - not a black and white process. How do you weight the presonal gain of the opportunity? How to you rate the principle? How do you weight going against your principles? Does that change depending on how high a prioirty that principle has?