optional static typing for Python

Russ P. Russ.Paielli at gmail.com
Mon Jan 28 05:21:23 EST 2008


On Jan 28, 1:53 am, Bruno Desthuilliers <bruno.
42.desthuilli... at wtf.websiteburo.oops.com> wrote:
> Russ P. a écrit :
>
>
>
> > On Jan 27, 5:03 pm, Paddy
>
> >> If static typing is optional then a program written in a dynamic
> >> language that passes such an automated static analysis of source code
> >> would have to be a simple program written in a simplistic way, and
> >> also in a static style.
>
> > Yes, but for safety-critical software you usually want the simplest
> > possible solution. The last think you want is an unnecessarily "fancy"
> > design. Unless there is a darn good reason to write a "non-static"
> > program, you just don't do it.
>
> > You might want to check into what the FAA allows in "flight-critical"
> > code, for example. I am certainly not an expert in that area, but I've
> > had a passing exposure to it. My understanding is that every possible
> > branch of the code must be fully and meticulously analyzed and
> > verified. Hence, the dynamic dispatching of ordinary object-oriented
> > code is either prohibited or severely frowned upon.
>
> Then Python is definitively out, so this whole thread is pointless.

Yes, Python as it stands now is "definitely out" as the ultimate
implementation language for flight-critical software. That's
essentially a no-brainer. But it can certainly be useful as a
prototyping language for R&D.

The question then arises as to how to best make use of the prototype.
Do you throw away the code and start from scratch? That doesn't seem
wise to me. But maybe that's because I have some idea of how much
effort can go into developing a good prototype.

If Python could be automatically converted to Ada or Java, that could
potentially be used as a baseline for actual operational software.
That would capture the algorithmic details more reliably than recoding
from scratch by hand. But such an automatic conversion is not feasible
without explicit typing.

And speaking of "pointless," ... I just wasted a significant amount of
time replying to a pointless post. Oh, well.



More information about the Python-list mailing list