Is there a "Large Scale Python Software Design" ?

Jonathan Ellis jbellis at gmail.com
Mon Oct 18 19:49:29 EDT 2004


Andrea Griffini wrote:
> I did it.
>
> I proposed python as the main language for our next CAD/CAM
> software because I think that it has all the potential needed
> for it. I'm not sure yet if the decision will get through, but
> something I'll need in this case is some experience-based set
> of rules about how to use python in this context.
>
> For example... is defining readonly attributes in classes
> worth the hassle ? Does duck-typing scale well in complex
> software or should I go for a classic inheritance hierarchy ?
>
> In other words... is there something like the classic "Large
> Scale C++ Software Design" (Lakos) for python ? I'm not
> looking for a bible, but lessons learned from someone that
> already went down this path could be quite interesting.

Wouldn't it have been better to ask these questions BEFORE proposing
python as (presumably) a Great Solution?  IMO, as great as python is,
it isn't appropriate for projects that are large and include many
developers.

The benefits of static typing, not least among which is the vastly
superior ease of creating tools that "understand" the language,
outweigh python's advantages in an environment when many people are
writing a lot of code.  This can be mitigated by reducing the
connectedness of your code, e.g. with a plugin architecture, but that
isn't always an option either...

Good luck.

-Jonathan




More information about the Python-list mailing list