I have to say though reading his site a few interesting quotations popped up (http://www.amk.ca/quotations/python-quotes.html) I picture a lump of inanimate flesh (a result from a relational database query) being infused with the spark of life (object behavior, aka class). - Jim Fulton on the term "pluggable brains", 5 Jul 1999 (On the statement print "42 monkeys"+"1 snake") BTW, both perl and Python get this wrong. Perl gives 43 and Python gives "42 monkeys1 snake", when the answer is clearly "41 monkeys and 1 fat snake". - Jim Fulton, 10 Aug 1999 When Jim [Fulton] says "tricky" it means your brain could explode. - Michel Pelletier, 15 Dec 1999 :) For those, thanks... -- Andy McKay, Developer. ActiveState. ----- Original Message ----- From: "Andy McKay" <andym@ActiveState.com> To: "Chris Withers" <chrisw@nipltd.com>; <zope@zope.org> Sent: Thursday, November 30, 2000 2:18 PM Subject: Re: [Zope] Why Not Zope? 'Cos I like to bitch! ;-)
Hi guys, I found this article written by someone from Quixote concerning Zope, describing its weaknesses and possible future development http://www.amk.ca/python/writing/why-not-zope.html
This guy is quite far up his own arse :-)
I agree and Im just agreeing with what Chris said but putting it in a different way.
His main arguement here seem to be that building complicated stuff in DTML sucks. He's right it does, but you shouldn't be building big complicated stuff in DTML (as Chris says).
We almost exclusively write our code in python which means: - you can grep it - you can use CVS - you can write any test suite you like
For most small applications DTML can suffice, but when it gets large you should separate your code the way its intended, DTML is for simple logic and presentation ONLY. Whilst PythonMethods are cool, I would naturally stray away from them for the above reasons for anything longer than about 5 lines.
The heavy lifting, logic and anything more should be in python. I won't pretend its particularly easy Zope hurt quite a lot some times, but we got there..
It's probably more useful to work around the problems he describes rather than bitching about them and telling people not to use Zope:
The 'no grep' is probably the most serious of his points. You can easily get around it though, by using a ZCatalog. Admittedly, a decent search and replace interface (which I'm plugging for on zope-dev ;-) would be really nice (Zope 3? ;-)
We actually tried cataloging the dtml... and it didnt work. This can be a pain I agree.
[..]
The test suite stuff is true for any web application, as has been discussed on the XP lists (so I'm told ;-) That said, there's ZUnit and PyUnit now, so I'm not sure that his opinion on this is valid at all.
You can write a your own test suite and for most web applications thats what people do.
His comments about DTML are all valid, but it's a choice he'd made to write logic in DTML and he's a fool for doing so. IMNSHO, all 'logic' should be kept in python and you should never need to use the "" in a DTML tag. [..]
Hear, hear. As above, the "" is useful though...
[..]
Yes, it can be confusing, but maybe you should just write code which doesn't make assumptions about variables, or handles the cases when they're not there. The same is true of acquisition and the namespaces concepts, maybe with better documentation, people like him wouldn't have such problems.
To me you should "never" make the assumptions you suggest regardless of the environment...
Zope's built in FTP server is one of it's huge stengths, IMO. He hasn't realised this and so bitches about it. You can always turn it off you know! Likewise the HTTP server, run Zope as a CGI if you must! :P
"Apache already exists and is highly flexible and configurable" of course it is, use it if you want, grrr..... TMTOWTODI.
More comments I would like to argue with:
"it's not apparent that DC is quickly responding to fixes."
I think DC and this group are great at responding to fixes, especially anything serious or security related. Ok there are still a few bugs out there that havent quite gone yet, but everybody has been great. The good community spirit for me is one of Zope's strengths.
"Object traversal is complicated since objects can affect how they're traversed"
And again this is bad for what reason. More power to us I say.
Thats it. -- Andy McKay, Developer.
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )