Designing Large Systems with Python

Ilja Heitlager news at helen.demon.nl
Thu Apr 29 04:21:54 EDT 1999


>A good principle for this would be 'Design by Contract'.
>
>The ideal language for that IMHO would be Eiffel.
>See http://www.eiffel.com/doc/manuals/language/intro/
>for an introduction by the inventor of the language, Bertrand Meyer
>see also
>http://www.eiffel-forum.org/
>and the links at http://www.elj.com/


DbC is a good idea anyway, but don't just use Eiffel to use the principle.
Python has assertions and and there are some nice assertionpackages for Java
(using preprocessors
to insert/hide). In other words: assertions can be mimiced in (probably)
every language

Make your choice based on language constructs like modules or classes (for
modularity and abstraction ---> large systems), script or system language
(for fast code-debug cycles) and available packages. If speed is a problem
most languages offer a C-escape.

also check
http://www.python.org/workshops/1997-10/proceedings/cunningham.html
and guido's http://www.developer.com/journal/techfocus/081798_jpython.html
for the Two-language approach (HYPE!)

Anyway for large systems use something like OO language (Python and Java?),
UML (or something) and a good IDE (love to see a class browser for Python),
(re)use existing packages.

Ilja






More information about the Python-list mailing list