Ville Voipio wrote: > I am not building a redundant system with independent > instruments voting. At this point I am trying to minimize > the false alarms. This is why I want to know if Python > is reliable enough to be used in this application. > > By the postings I have seen in this thread it seems that > the answer is positive. At least if I do not try > apply any adventorous programming techniques.
We built a system with similar requirements using an older version of Python (either 2.0 or 2.1 I believe). A number of systems were shipped and operate without problems. We did have a memory leak issue in an early version and spent ages debugging it (and actually implemented the suggested "reboot when necessary feature" as a stop-gap measure at one point), before finally discovering it. (Then, knowing what to search for, we quickly found that the problem had been fixed in CVS for the Python version we were using, and actually released in the subsequent major revision. (The leak involved extending empty lists, or extending lists with empty lists, as I recall.) Other than that, we had no real issues and definitely felt the choice of Python was completely justified. I have no hesitation recommending it, other than to caution (as I believe Paul R did) that use of new features is "dangerous" in that they won't have as wide usage and shouldn't always be considered "proven" in long-term field use, by definition. Another suggestion would be to carefully avoid cyclic references (if the app is simple enough for this to be feasible), allowing you to rely on reference-counting for garbage collection and the resultant "more deterministic" behaviour. Also test heavily. We were using test-driven development and had effectively thousands of hours of run-time by the time the first system shipped, so we had great confidence in it. -Peter -- http://mail.python.org/mailman/listinfo/python-list