-----------------------------------------------------------

New Message on BDOTNET

-----------------------------------------------------------
From: spark
Message 1 in Discussion

This might be an interetsing read for some ... 


> 
> don't know if you're still reading the plan9 newsgroup,
> but Laura has struck again:
> 
> Date: Mon, 15 Sep 2003 07:33:44 +0100
> From: [EMAIL PROTECTED]
> Subject: [9fans] Design and Workmanship
> 
> 
> I'm going to use David Pye's defintion here from _The Nature and 
> Aesthetic of Design_ and _The Nature and Art of Workmanship_.  (These 
> books are wonderful to read, byt the way.  Pye is a now deceased 
> professor of woodworking and architecture who also designed ships 
> during ww2. So no computers, in them, but a good language to describe 
> the whole creative process.  Paperback, reasonably priced, and if your 
> csc library has collected the works of Chris Alexander, you should try 
> to get them to stock these as well.
> 
> According to Pye, 'Design is what you can communicate using words and
> pictures'.  'Workmanship is that which you cannot'.  This does not
> mean that you cannot talk _about_ workmanship.  Talk about Workmanship
> is called 'technique'.  'The Practice of Programming' is all about
> technique.
> 
> But when you draw or write something on paper, and hand it to somebody 
> and say 'make this', you are handing him a design.  The notion of 'and 
> do the job well' is all about workmanship, and generally goes without 
> saying.
> 
> We are living in a time of mass production.  Machines can stamp out 
> identical copies of most of the things we live with in whatever 
> quantity we desire.  But a machine, by defintion, produces _highly 
> regulated workmanship_.  Somebody designs a machine (and then somebody 
> has to make or assemble it with good workmanship, but that is 
> forgotten) and then the result comes out.  Thus a false relationship 
> between 'good work' is a result of 'good design' is widely believed.  
> Designers, in all trades, are most victim to this.
> 
> They specify a job, and get good work, and soon come to expect that 
> people will do the job well.  Then comes the day when they use a firm 
> which isn't up to the standard they require.  All there is to do is to 
> request that they do the job over.  When the result comes back, still 
> shoddy, the designer has nothing to do but throw up his hand in 
> despair, and either hire a different firm, or specify something within 
> the range of the ability of the people doing the work.
> 
> Good Workmanship can overcome modest Design flaws.  Poor Wookmanship 
> defeats the best in design.
> 
> So where does that leave us?
> 
> But you don't get to be a good Workman by getting your heads filled up 
> with theory.  You get to be a good Workman by spending 18 hell filled 
> weeks working for Henry Spencer, when you are 18, willing to do 
> _anything_ to get a driver into the utzoo kernel.  Getting up at 4 am 
> to read the v7 kernel _one more time_.  And writing code, writing 
> code, writing code, and having Henry Spencer and Geoff Collyer say 
> 'that's bad' about it a lot.  (Thanks Geoff). Hanging out with people 
> who already know what good Workmanship is, failing to produce it, 
> again, and again, and again, until you finally do something 
> worthwhile.
> 
> This is the experience csc majors, most of them, come to university 
> hoping to get.  Something that will make them good programmers. 
> Unfortunately, they like everybody else, think that they need to 
> become good designers.  I don't know how to train good design into 
> you.  I can teach you to recognise bad workmanship, which generally 
> comes with bad Design, and a certain amount of bad Design.  But good 
> Design?  It may be a matter of 'either you've got it or you don't'.
> 
> Unfortunately, I cannot treat you the way Henry Spencer treated me. 
> This will just make you change your major, which I would love, but 
> will get me in trouble with the university.  I don't know if it is 
> true that high school guidance teachers have all conspired to take all 
> the smart, lazy, and completely unimaginative people that come to 
> their offices wondering what to do in their lives, and tell them -- 
> 'Computer Science, that's for you!'  but it sure feels that way 
> sometimes.
> 
> But 'Design Patterns' is misnamed.  It would be better named as 
> 'Workmanship Patterns'.  They are tools.  They are things for 
> regulating your work.  They are like jigs, and vises, and the other 
> things you use to make sure that you don't spoil the job as you work 
> 'freely'.  (Free workmanship  == make a mistake and the job is ruined.  
> Its opposite Completely Regulated Workmanship == push a button, get it 
> done.  Again, from David Pye).
> 
> Boyd doesn't need them, because Boyd already works to an extremely 
> high standard of workmanship, awesomely high, all the time.  Boyd is 
> also a fine designer.  But he couldn't teach us that, much, either. He 
> knows how to do it, not how to teach it, curse it all.
> 
> But Design Patterns -- and read the Smalltalk one, not the C++ one, 
> where half the book is not about the Patterns, but more fruitfully 
> titled 'my struggles trying to do polymorphism with the C++ type 
> system'  (and there are better ways to do that than in the book) -- is 
> a box of techniques of good Workmanship.
> 
> We give them to the students who summer here.  And one of the most 
> wonderful moments of my life was when I showed this book to a new 
> student, and said, the bookstore hasn't delivered yours yet but 
> they've arrived ... when he looked at it he said 'I can get to the 
> bookstore in 15minutes, and they shut in 30.  Let me get it.' I said 
> 'no'.  He was totally excited.  he had to get this book and show it to 
> a friend.  It had the solution to what was wrong with the engineering 
> undergraduate students website and lab registration problem....
> 
> (I let him know that he could borrow my book until the delivery 
> happened.) He and his friend hacked all weekend, and on Monday it was 
> clear that they had hardly slept.  But the site was better.  They were 
> going to refactor it _again_ next weekend, though ....)
> 
> That's what its for.  If you don't need that, then you won't 
> understand, why its so important.  But the world is full of people who 
> desparately want to improve their workmanship, and _don't even know 
> that that is what they are wanting_.  More algorithm classes won't 
> help them with this, nor will most of the things we teach at 
> university.  Most progamming problems can be served with very modest 
> designs.  'Good rough work' is all you need when you want to take a 
> list of your friends, and the pictures of your grandchildren from your 
> digtal camera, and mail the second to the first without spending all 
> day pasting in your Windows Gui.  (I just taught a 70 year old woman 
> enough Python to do that).
> 
> If you need more regulated work, then DP is a tremendous help.
> 
> And if you're an Artist, and want to do perfectly free work, and don't 
> screw it up, you will probably get something better than if you just 
> use good workmanship to properly assemble known components.  Might be 
> harder to maintain, though.
> 
> Sorry for those of you I bored with my ramblings...
> 
> Laura
> 
> 
> 
> 

-- 
NEU F�R ALLE - GMX MediaCenter - f�r Fotos, Musik, Dateien... Fotoalbum, File Sharing, 
MMS, Multimedia-Gru�, GMX FotoService

Jetzt kostenlos anmelden unter http://www.gmx.net

+++ GMX - die erste Adresse f�r Mail, Message, More! +++



-----------------------------------------------------------

To stop getting this e-mail, or change how often it arrives, go to your E-mail 
Settings.
http://groups.msn.com/BDOTNET/_emailsettings.msnw

Need help? If you've forgotten your password, please go to Passport Member Services.
http://groups.msn.com/_passportredir.msnw?ppmprop=help

For other questions or feedback, go to our Contact Us page.
http://groups.msn.com/contact

If you do not want to receive future e-mail from this MSN group, or if you received 
this message by mistake, please click the "Remove" link below. On the pre-addressed 
e-mail message that opens, simply click "Send". Your e-mail address will be deleted 
from this group's mailing list.
mailto:[EMAIL PROTECTED]

Reply via email to