Python for air traffic control?

Peter Milliken peter.milliken at gtech.com
Wed Jul 4 04:47:03 CEST 2001


True, but all you are arguing here is that Python and accompanying toolset,
in it's current state, is not up to the task but could be made more
appropriate to the problem/situation. So, "how long is a piece of string"?
The original question related to using Python for a particular job. Where
are you going to end your Holy Grail of making Python up to the task i.e.
answering the "objections" as to why Python wouldn't necessarily be a good
choice. Sure the source code is there for anyone to "tweak", so lets just
keep "tweaking" it until it comes up to the required standard - in which
case it won't be Python anymore :-). There are other languages that offer
the same code constructs that Python offers plus more, without the
"drawback" of being an interpreted, dynamic language.

Different languages have different uses, just because you "love" a
particular language doesn't mean that it would suit all possible situations.
I could create the same arguments for using assembler. Why don't we all code
in assembler - because of good and obvious reasons such as ease of coding,
more readable code, higher productivity etc. Yet, I could show that
assembler is a perfectly good choice for certain situations/applications. I
could also talk about "support staff" extending the assembler to offer the
advantages perceived in language X :-) But of course, after the project is
ended you would find that you had a compiler for language X, not an assember
anymore.

Another "rub" here is, sure the project might have some support staff
(generally not though, because staffing such a large project would leave
only the "dreggs" available to act as support staff - assuming you had any
programmers left over at all, usually such projects are short staffed
throughout their entire development cycle :-)). Whoops, sentence got too
long there :-). But the point is you can't afford to have "support" staff
working on improving the tools in parallel with the development effort -
unless it is a small change then the main project can't afford to wait for
whatever feature is being crafted so they program around not having it :-).

Peter



"Grant Edwards" <grante at visi.com> wrote in message
news:slrn9k4out.ms.grante at tuxtop.visi.com...
> On Wed, 4 Jul 2001 08:25:50 +1000, Peter Milliken
<peter.milliken at gtech.com> wrote:
>
> >This assumes that your coding standing inforces passing
> >arguments by name - just try staffing an ATC project and
> >enforcing a coding standard. There will be many programmers who
> >"don't like the standard" and will do anything to get around
> >it. You generally catch these people through code review only
> >and often too late! :-). Python doesn't enforce this,
>
> [without looking at the source code] I think it would probably
> be farily trivial to hack Python to require all arguements be
> passed by keyword.
>
> >personally I believe it is a good feature and I use it
> >frequently - but not all of the time :-)
> >
> >> In C++, the function calls all get checked automatically at
> >> compile time, but Python doesn't check them until run time.
> >> That is a valid concern, but hardly a show-stopper. I
> >> understand that PyChecker can be used for static checking. I
> >> actually think the core Python language should have an option
> >> to do static checking, but as long as some product is
> >> available to do it, the issue is not major.
> >
> >PyChecker is still very imature and some things it will never
> >(poor word to use, since if someone wants to put in the effort,
> >nothing is impossible :-)) be checked by it. It will only ever
> >be an aid. The ability of Python to dynamically "change its
> >behaviour on the fly" is one of its strengths but also a
> >weakness from the point of view of ensuring correctness and
> >reliability in such an application domain.
>
> On a project as large as an ATC program there will probably be
> (or at least _should_ be) some support staff whose job is
> nothing other than specify/acquire/develop/tweak/test
> development tools.
>
> --
> Grant Edwards                   grante             Yow!  I wish I was a
>                                   at               sex-starved manicurist
>                                visi.com            found dead in the
Bronx!!





More information about the Python-list mailing list