From: news at helen.demon.nl (Ilja Heitlager)
Date: Thu, 29 Apr 1999 10:21:54 +0200
Subject: Designing Large Systems with Python
References: <m37lqz0yoa.fsf@solo.david-steuber.com> <7g669p$aer$1@nnrp1.dejanews.com>
Message-ID: <7g94b7$m31$1@news.worldonline.nl>
Content-Length: 1218
X-UID: 1559                                                  

>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






