Python for large projects

Heather Coppersmith me at privacy.net
Mon Mar 22 19:19:25 EST 2004


On 22 Mar 2004 15:37:27 -0800,
Paul Rubin <http://phr.cx@NOSPAM.invalid> wrote:

> 1) Optimizing C/C++ compiler, like GCC
> 2) Full featured web browser, like MSIE or Mozilla
> 3) Full featured office suite, like MS Office or Open Office or KDE
> 4) Avionics for the space shuttle
> 5) Internals of a large telephone/data switch
> 6) Tax processing software for the IRS
> 7) Operating system kernel (Linux: the next generation)
> 8) Accounting software for a big bank
> 9) Full featured database like Oracle or Postgres
> 10) ... well you get the idea.

> Which, if any, would you write in Python? ... Note that these
> are all supposed to be used in production and not just as
> technology demos, so speed matters ...

With the "speed counts" caveat, that's a bit of a trick question,
trivially answered with None Of The Above (okay, so maybe most
bankers (application 8) are in less of a hurry than most user
processes (application 7)).

With sufficiently powerful hardware and sufficiently patient
clients, I'd take Python over C for any of those projects except:

    Life/death applications, like 4, and maybe 5, and maybe 7
    (depends on who's using the OS and for what).  Python is not
    well-specified enough (too many things depend on the
    underlying C library) for this type of application.

    Hardware-oriented applications, like maybe parts of 4 and 5
    (depending on what the interfaces to the hardware look like),
    and the low-level pieces of 7.

Specifically, I can't think of a single advantage C has over
Python (except speed and footprint) for applications 1, 2, 3, 5,
6, 8, and 9.

What advantages *do* C and Java have for such large projects?  How
many bug-free, meets-the-full-spec, on-time, under-budget examples
of applications written in those languages do we have?

Regards,
Heather

-- 
Heather Coppersmith
That's not right; that's not even wrong. -- Wolfgang Pauli



More information about the Python-list mailing list