A modest indentation proposal

brueckd at tbye.com brueckd at tbye.com
Fri Nov 30 12:30:30 EST 2001


On Fri, 30 Nov 2001, Erann Gat wrote:

> Yes, of course we test our mission critical applications.  Please extend
> me the courtesy of not immediately assuming I'm an idiot just because I
> make a proposal that you don't like.  But testing is actually a very
> ineffective way of insuring that software works, particularly
> mission-critical software.  For one thing, it's not possible to test
> spacecraft software under field conditions until the spacecraft is
> launched, and by then it may be too late.  For another, many bugs,
> particularly in real-time multithreaded systems, are probabilistic, and so
> even if your tests work perfectly that alone does not provide a lot of
> confidence that your software is in fact correct.

Do you think this indentation stuff will have any bearing at all on any
of this? Erann, there are much bigger fish to fry. I apologize, but this
is really a nit-pick issue. Surely the people you're trying to sell this
to can come up with better reasons as to why Python is not suitable. I
mean, if they are complaining about this then I am *really* curious about
what languages they *do* find acceptable. I guarantee that, given any
language (including Python!), we can come up with more serious and
reasonable objections than this one.

> all screwed up and should be discarded.  The reason is that I want to sell
> people at JPL on the idea of using Python to write mission-critical
> software, and the people I'm trying to sell are raising this objection.

Congratulations on getting them this far (I'm serious). You've obviously
done a lot of selling to them to get them to the point that these are the
types of objections they're raising. The thing to do now is to convince
them to let you use Python on a minor project or two so that they can
*objectively* judge the merits of Python. You need to help them get out of
the respond-to-whatever-problems-we-can-dream-up mode and into the
see-what-problems-really-occur-and-how-often mode, and then you can
accurately judge the suitability of Python. Yes, in theory, their
objection can cause problems. In practice, however, it rarely does. YMMV,
but the indentation issue you're worried about has bitten me far less
than

if (a < b);
  b++;

or

if (a < b)
  a++;
  b++;

*ever* did in my time with C/C++/Java, and even there it wasn't that big
of a deal.

By using Python on one of your smaller projects they'll have more tangible
experience with Python's positives (faster development, fewer bugs, lower
maintenance costs, happier developers, world peace, etc.), and then they
can accurately decide if it's right for your development organization.

Right now you're essentially in the tough position of showing that Python
is perfect, which it's not, so you're bound to lose the argument. None of
us choose Python because it's perfect, but because for many programs it's
the tool whose postives best outweigh its negatives, and that's the
angle you need to be selling from.

Best of luck,
-Dave





More information about the Python-list mailing list