Alan: As always, you make excellent points. Actually, there isn't much on which we disagree here, I think. I did not mean that other engineering disciplines necessarily employ less craftsmanship than does software. On the contrary, excellent craftsmanship can be found in all branches of engineering.
One example will suffice: automotive engineering. Manufacturer _____ [insert your favorite here] produces vehicles which are among the most finely crafted objects in the world. On the other hand, ______ [again, take your pick) makes cars that exhibit horrible craftsmanship. Both are the products of automotive engineering, but the differences in reliability, safety, performance and economy, not to mention beauty, individuality and 'fine-ness' (a great term, IMHO), are obvious. I could cite examples from any other discipline, though I might have to spend some time in research; I'm a programmer, not an engineering historian. =8^) Anyway, my point was that no programming language is best in all cases or for all people. The preference of the engineer (craftsman, if you will) matters. Best Regards, Barry [EMAIL PROTECTED] 541-302-1107 ________________________ We who cut mere stones must always be envisioning cathedrals. -Quarry worker's creed > -----Original Message----- > From: Alan Gauld [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 13, 2006 2:46 PM > To: Carroll, Barry; tutor@python.org > Subject: Re: [Tutor] failing to learn python > > > has been very interesting. It illustrates the fact that software > > engineering remains very much a craft. As with all crafts, is heavily > > influenced by the preferences (style if you will) of the individual > > artisan. There are very few 'right or wrong' answers here. > > Oops, you hit a hot button there. :-) > > <RANT> > I don't think the multitude of styles or tools is any different to any > other engineering discipline and certainly doesn't indicate any more > craft status than the fact that different electrical engineers have > different > preferences of AVO meter type (analogue, digital, electronic, magnetic > etc - and most use several). Choosing the right tool for the job is just > as much part of the skill of the engineer as much as the artisan. > > Where there may be a difference is that the engineer may specify the > tools (and definitely the materials) during the design process, the > artisan may choose the tools and materials in an ad-hoc manner > as the work progresses. The engineer's goals are consistency and > economy whereas the artisans goals are "quality(*)" and individuality. > > (*)Engineers strive for quality too, but a pre-determined measure > of quality not the abstract concept of 'fine-ness' that craftsmen > generally > aim for. > > Software engineering, when practiced as engineering, is very little > different to other branches of engineering, unfortunately it is, for > various reasons, not often practiced as an engineering discipline > but as a craft. But the SE label is applied regardless! As in other > engineering disciplines it will take a large disaster with huge loss > of human life(*) due to badly designed software to force the industry > to adopt the kind of rigour demanded in other fields. It is entirely > possible now, it's just not practiced! > > (*)And even then only when that loss of life is accompanied by > correspondingly large insurance claims - or is that too cynical? > We'll find out fairly soon I'm sure... > > </RANT> > > Alan G. > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor