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

Guillaume Chatelet chatelet.guillaume at gmail.com
Sat Jun 16 09:59:51 PDT 2012


On 06/16/12 18:11, Walter Bright wrote:
> 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.

Thanks for sharing your experience, it's definitely an interesting point
of view.

> 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.

Yes. My former studies were also in mechanical engineering so I tend to
agree - even if I never done it professionally. Security margins are
'everywhere' from pins to ball bearings...

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

Completely agree here, because you can't rely on a previous experience
it's almost impossible to have an accurate estimation of the schedule,
even with huge margin on your side :)


More information about the Digitalmars-d mailing list