[Zope-ZEO] Advice
Greg Ward
gward@mems-exchange.org
Mon, 25 Sep 2000 10:03:19 -0400
On 22 September 2000, Chris McDonough said:
> This is why we've been working on exposing parts of Zope (such as the
> Publisher.Test module) which are useful for unit testing. But there are
> really
> two ways to do this, either of which is viable.
[...]
> 2. Code all of your logic using TTW stuff and Zope components. Use the
> Publisher.Test.test method to call methods of your Zope components
> in unit tests.
I don't think this is viable for a serious application: right now, we're
at 13k LOC in 160 source files, and the end is nowhere in sight.
(That's real lines of code, *not* counting docs and comments and so
forth.) My experience is that programming languages have pretty hard
scalability limits (shell: 10-20 lines; Tcl: 100 lines; Perl: 1000
lines; Python: I haven't hit the wall yet, but have been warned to look
out in the 30k - 50k range). I suspect the same is true of programming
environments. (X)Emacs/Unix has pretty good scalability; probably not
as good as some of those fancy IDEs I keep hearing about from the
Windows world, but good enough for me. Netscape's <textarea> tag is
probably the most limiting programming environment I can imagine; I have
DTML methods that are almost 100 lines long, and they are completely
incomprehensible and unmanageable. A programming environment that can't
handle more than 50 lines of code at once is probably not suited for a
20-50k LOC beast.
> Again, your frustration may be symptomatic of coding in instance space
> instead of developing a product. But this is not your fault, it's ours.
This strikes me as a good pithy summary of the problem. We were trying
to write *code*, dammit, and a database-of-code-objects is not an
adequate substitute for a real programming environment.
Greg