large-scale app development in python?

Paul Rubin http
Fri Aug 22 22:39:33 EDT 2003


gabor <gabor at z10n.net> writes:
> but i got a question, that i couldn't answer:
> -you can't compile python, as you can c++ or java => there's no type
> checking before starting the program => if one programmer changes a
> method name or method signature, then how do we know we changed all the
> code that calls that method?
> 
> 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?

There's a program called pychecker that does some static analysis, and
with thorough enough unit test coverage you can get most of the rest.
Other than that, there's some exposure.  Python eliminates many
classes of bugs, but possibly opens up a few others.  Everything in
programming is a trade-off.

> are there any people who wrote a big program in python? how did they
> handle these problems?
> 
> or python simply isn't suited to write bigger (more complex) apps?

A lot of very large programs have been written in Lisp, which has all
the same issues as Python.

If you're shopping for yet more languages, I've been interested for a
while in OCAML, which is completely statically typed, but it figures
out the types of most expressions all by itself (type inference) so
you still don't need type declarations.  It has some devoted followers
who are very sophisticated and it sounds like a more throughly
designed language than Python (which while very practical and nice to
code in is somewhat ad hoc).  However, I haven't personally used OCAML
for anything yet, just read about it a little.  I'd like to try it
soon.




More information about the Python-list mailing list