|Perl: the Markov chain saw|
Re^4: What do you call yourself?by BrowserUk (Pope)
|on Jun 05, 2004 at 15:59 UTC||Need Help??|
In the real world you *can't* guarantee that components would fit together when they arrive from your subcontractors....
You can. That's why tolorences exist.
If they do not, then they do not comply with the blueprints and the part supplied would be rejected. The supplier would be sacked and go out of business. It is the responsibility of the supplier to ensure that what he supplies meets the blueprint and and therefore fulfills the contract. Remember, we are talking about 4 parts here.
Sure, if the contract is for 100s or 1000s, then you might perform sample testing to ensure that the supplier is maintaining his quality. Those tests would be performed by testing against the blueprints, not by trying to assemble the parts together.
The difference is in the standards that allow that blueprint to be definitive and the standards that allow parts produced to be tested directly against that blueprint rather than through trial assembly. That is why you can purchase a 10 mm nut and a 10 mm bolt from anywhere and pretty much guarentee that the will screw together. Or a disk drive from IBM, or Seagate or Toshiba and know that it will fit and work in your PC.
Your point about people like Thomas Telford and I.K. Brunell is interesting. We do consider them great engineers. They were. But they were the exceptions that proved the rule. What they did was vastly different from what the average programmer does. To really compare, you would have to know the names and the working pratices of the thousands of nameless foundrymen, steel workers and riveters that built the ships, bridges and canals that they designed. If you tried to take The Clifton Suspension Bridge apart and then reassemble it swapping various apparently identical parts as you did so, it wouldn't fit back together. Each part may be essentially identical, but each is fettled to fit it's unique place in the whole. That fettling is craftsmanship, not engineering.
There are even a few cars that are still made this way. Morgan still manufacture their vehicles this way, but their production rates are something like 10 or 12 a week. For all thier models. The downside of these wonderful cars is that even if you have the money in the bank, you will have to wait years to buy a new one. It also means that if you have a fender-bender, you have to go back to the factory and have them make new panels to fit your vehicle. You cannot buy them off the shelf. Each supposedly identical vehicle is completely unique. Imagine if Ford, GM or Toyota still worked that way.
I realise that the analogy breaks down quite rapidly. The production phase for software is entirely different than that for mechanical parts and assemblies. And then there is the 'use' stage. I've seen people do some bizaar, biwildering and sometimes amazing things with a spreadsheet. The equivalent would like taking a Ford Taunus and driving it across a wilderness. (Hmm. They call that rallying:) But even then, although the guys that would adapt the vehicle to it's new role, uninvisaged by it's designers, would be engineers, you would rarely find them manufacturing a 10,5 mm nut and bolt.
I'd suggest that the current state of software production methods is still at roughly the same stage as mechanical or civil engineering was when those greats were alive and working. To my way of thinking, that makes people like Knuth, Tim Berners-Lee, Linus Torval and Larry Wall in the same place and league as those great engineers. But it leaves the rest of us pretty much in the same place as the myriad nameless craftsmen that built their designs. For the most part, that makes us honarable, professional (small p) men & women trying our best to do good work and be a part of something great, but not engineers in the modern sense of the word.
Examine what is said, not who speaks."Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail