large-scale app development in python?

Geoff Gerrietts geoff at gerrietts.net
Sat Aug 23 03:22:48 CEST 2003


Quoting gabor (gabor at z10n.net):
> how do you solve these kind of problems? i know that unit tests are a
> good thing, but i don't know if they can help in this situation?

This is actually a pretty common question. The answer usually seems to
run towards "writing lots of unit tests". That may be a switch in
engineering process for you. It may increase the time it would take to
develop your app, but the claim (anecdotally supported, but I've never
seen a real study) is that test-first programming saves time over the
life of the project.

You can also use tools like pychecker to do some static analysis.

> are there any people who wrote a big program in python? how did they
> handle these problems?

We've written a couple hundred thousand lines of python at my present
place of employ. We manage it by testing our components and ensuring
they work. We do not do test-first programming (would be nice, but
would have a pretty big up-front investment), but we don't generally
find that we encounter a lot of problems of the sort that a compiler
with strict type checking would catch.

I would wager that the strict type checking you would get out of C++
is more than twice offset by the simple memory management you get out
of Python, when it comes to final stability.

> or python simply isn't suited to write bigger (more complex) apps?

As always, optimize key code paths by writing them in a language that
talks directly to the hardware. Do the lion's share of the work in
Python. Using this recipe, Python is appropriate for a large selection
of tasks.

--G.

-- 
Geoff Gerrietts <geoff at gerrietts dot net>
-rw-rw-rw-:         permissions of the beast





More information about the Python-list mailing list