Proposal to add 'Elements of Programming' Concepts to std.traits

Walter Bright newshound2 at digitalmars.com
Sat Jun 16 09:11:20 PDT 2012


On 6/16/2012 8:26 AM, Guillaume Chatelet wrote:
> And then we wonder why software is
> notorious for being delivered late and full of bugs, while other
> engineers routinely deliver finished bridges, automobiles, electrical
> appliances, etc., on time and with only minor defects.

I have a nit to pick with that statement, as a former mechanical engineer who 
has done professional mechanical designs and has taken apart a lot of others.

Bridges, automobiles, electrical appliances, etc., are full of design errors.

The engineers who design them aren't any smarter, more professional, or rely on 
mathematical precision any more than software engineers do. In fact, quite a 
large fraction of them can do math little more advanced than simple arithmetic.

They don't catastrophically fail that often simply because they are way, way 
overdesigned. A bridge, for example, can withstand several times its design 
load. That covers an awful lot of sins. Software, on the other hand, can 
catastrophically fail with the slightest mistake - a single bit being off.

The "on time" is equally misinformed. The more new design there is in other 
engineering projects, the more certain it is to be late.


More information about the Digitalmars-d mailing list