The Industry choice
klapotec at chello.at
Fri Dec 31 15:25:30 CET 2004
On Fri, 31 Dec 2004 05:54:05 -0800, Paul Rubin wrote:
> Bulba! <bulba at bulba.com> writes:
>> OK, so what projects and why would you consider Python:
>> 1. "clearly unsuitable"
> An OS kernel, a high-performance signal processing application like a
> video encoder, or maybe a compact embedded application for an 8-bit
Of course, but those are not areas where I'd consider any
high-level language appropriate. C, Forth and Assembler rule where every
last bit counts, and they will continue to do so. Exceptions like Lisp
Machines are however something to hope for.
Note that you could do the microcontroller project
> with JavaCard. (Yeah, you could maybe write the outer shell of the
> high-performance app in Python, but I mean the part doing the real work.)
Hmm, didn't know about JavaCard, but I'd guess without bothering to look
that, like Java's Micro Edition, this features a restricted subset of
Java... Python definitely cannot do that now, but the PyPy future may
(hopefully) change that. And at least Python's beginning to try to
encroach in the very heavily Java-dominated mobile phone software market...
>> 2. "plausible but there are sound technical reasons to be wary"
> A security-critical financial application.
Why, specifically? Would you need to eval user input?
>> BTW, I don't think I agree with your statement elsewhere about unit
>> tests - if you write a prototype (in any language), why bother with
>> unit tests, and if you write security-critical app, maybe the tests
>> should be written anyway (again, whatever is the language chosen for
>> a project).
> You should write unit tests either way, but in Python you're relying
> on the tests to find stuff that the compiler finds for you with Java.
> I'm also not too impressed with Python's bundled debugging features,
> as compared with gcc/gdb. People have said nice things about some of
> the commercial Python environments but I haven't used those.
I haven't used those either (well, I looked at some, but I generally feel
better at home in Emacs or even Idle than some glitzy IDE), but I find
Python's debugging facilities completely sufficient, especially since I
nearly never use them ;-) The interactive environment and unit testing are
just great for whatever I've needed so far. But then I haven't used Python
in a really *large* project yet, either.
In theory, I'm in love with Lisp,
but I hop into bed with Python every chance I get.
More information about the Python-list