comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <jrcarter@acm.org>
Subject: Re: Joint Strike Fighter
Date: Sat, 03 Nov 2001 18:52:21 GMT
Date: 2001-11-03T18:52:21+00:00	[thread overview]
Message-ID: <3BE43CDC.F6B1EE30@acm.org> (raw)
In-Reply-To: 3BE4221B.34589071@adaworks.com

Richard Riehle wrote:
> 
> One of the most important benefits of C++ is that, once people have enough
> experience with it, it becomes obvious how inherently hideous it is.

That's an interesting use of "benefit". :)

There is a column in ESP called "Programmer's Toolbox". The author used
to present algorithms in Turbo Pascal; while I thought an ALGOL based
pseudocode might have been a better choice, the results were generally
easily understood, and I found the column interesting and sometimes
useful. Then he changed to the then-current fad language, C++. I found
the results difficult to understand. When he devoted 3 consecutive
columns to the intricacies of redefining "=" (assignment), I stopped
reading the column. That was also when I stopped thinking that C++ might
have some redeeming social qualities. I think he eventually gave up C++
and is now using C, but with no improvement in clarity.

As to language choice for large US defense contracts, in 26 years of
professional software development, I have seen numerous such projects,
and am acquainted with more through colleagues. They almost all seem to
suffer from poor designs and poor implementations (too much code for the
functionality). This seems to be the case despite the best efforts of
competent software engineers on the projects.

While I usually hesitate to ascribe to malice what may be due to
incompetence, this effect is so widespread that I have to wonder. I note
that only established large defense contractors can successfully bid on
large defense contracts, and those contractors have many decades of
experience with the government's understanding of software quality and
its reaction to cost and schedule overruns. The contractors exist to
make money, and the contracts are usually arranged so that the longer
the contract takes, the more money the contractor makes. It may even be
to the contractor's advantage to have the project fail (terminated by
the customer before usable software is delivered). I have seen a
contract in which the contractor received hundreds of millions of
dollars before the contract was terminated. No failure ever seems to
affect the contractors' ability to obtain new contracts. Such projects
may be failures from the customer's point of view, but they are very
successful from the contractor's.

I thus propose that the contractors have a highly optimized technique
for finding the saddle point for maximizing profits while not angering
the government enough to not win future contracts. Poor designs and
implementations take longer to finish and to get working properly. Poor
language choice would seem to be another tool to the same end.

-- 
Jeff Carter
"I fart in your general direction."
Monty Python & the Holy Grail



  reply	other threads:[~2001-11-03 18:52 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-29  4:55 Joint Strike Fighter Richard Riehle
2001-10-29 11:11 ` Ian
2001-10-31  6:38   ` Richard Riehle
2001-10-31 13:38     ` David Botton
2001-10-31 16:15     ` Wes Groleau
2001-10-31 16:25       ` Marin David Condic
2001-11-01  4:44         ` JF Harrison
2001-11-01 14:41           ` Marin David Condic
2001-11-03 16:58             ` Richard Riehle
2001-11-03 18:52               ` Jeffrey Carter [this message]
2001-11-05 15:30                 ` Ted Dennison
2001-11-06  2:07                   ` Jeffrey Carter
2001-11-06 16:46                   ` Rex Reges
2001-11-06 18:17                     ` Marin David Condic
2001-11-06 19:07                     ` Larry Kilgallen
2001-11-06 21:19                       ` Rex Reges
2001-11-06 23:01                         ` Larry Kilgallen
2001-11-08 14:55                         ` Rex Reges
     [not found]                         ` <Wa+tfCvHgQXH@eisner.e <3BEA9CED.8C6BF839@reges.org>
2001-11-08 15:43                           ` Ian Wild
2001-11-08 22:18                             ` Rex Reges
2001-11-22  6:25                               ` David Thompson
2001-11-08 16:23                         ` Larry Kilgallen
2001-11-08 13:53                     ` Marc A. Criley
2001-11-08 22:15                       ` Rex Reges
2001-11-09 12:44                         ` Marc A. Criley
2001-11-09 15:41                           ` Ted Dennison
2001-11-09 15:35                     ` Ted Dennison
2001-11-10  6:56                       ` john flynn
2001-11-04  1:08               ` David Botton
2001-11-05 14:59               ` Marin David Condic
2001-11-01 14:55           ` Ted Dennison
2001-11-01 21:47           ` P Norby
2001-11-02 17:02           ` P Norby
     [not found]           ` <003301c163c0$289f8c60$45d82c41@vaio>
2001-11-02 19:54             ` JF Harrison
     [not found]             ` <002a01c163d8$25bb4440$2702a8c0@WorkGroup>
2001-11-02 20:40               ` JF Harrison
2001-11-01 11:38         ` Ian
2001-11-01 14:51           ` Marin David Condic
2001-11-02  9:08           ` John McCabe
2001-11-02 16:16             ` Ian
2001-11-02 17:04               ` John McCabe
2001-11-29 16:48           ` Matthew Heaney
2001-11-29 17:12             ` Marin David Condic
2001-11-30 12:49               ` Simon Wright
2001-11-30 14:46                 ` Marin David Condic
2001-11-30 16:37                   ` Jeffrey Carter
2001-11-30 15:03                 ` Ted Dennison
2001-11-30 16:26                   ` Simon Wright
2001-11-30 16:39                     ` Ted Dennison
2001-11-30 17:08                     ` Pat Rogers
2001-11-30 22:53                     ` Chad R. Meiners
2001-12-01  8:08                       ` Simon Wright
2001-10-29 15:02 ` Marin David Condic
2001-10-29 17:55 ` Paul A Storm
2001-11-01  4:46   ` Richard Riehle
2001-11-02 20:03 ` Dirk Craeynest
2001-11-07  3:57 ` Vincent Marciante
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox