Forum OpenACS Q&A: Response to Article on ACS x Zope
Perhaps I should have made it boldface when I said "this comparison is based on things that matter to me". Different people will clearly have different criteria (like ease of learning).
When you get beyond basic document management, Zope is hard to learn. This isn't helped by the fact that the documentation still needs work. The docs I saw for ACS were much better, but I have no idea how good the docs are when you are trying to do really customize things. I didn't put this in my comparison, because I've been using Zope for more than a year. I've gotten past the learning curve.
When I started working on this, the OpenACS folks were still in the process of porting a lot of the pieces of ACS. I remember that the spam module wasn't there yet. At the time, I was worried that OpenACS would always lag behind ACS Classic quite a bit, though it appears that the OpenACS people have worked quite fast. If I had seen more elements that really compelled me toward ACS, I would certainly have put in the effort to install OpenACS or ACS Classic if my concerns about OpenACS had continued. But, I have the same 24 hour days and too much to do that everyone else does. In the end, I didn't see enough to compell me away from the system I already knew.
The original poster here mentioned that I talk about Objects a lot. Objects themselves are not important, but for what we're doing having reusable, easily customizable components is. And, I think Zope excels in this and there are some other things coming into existence now that make it better.
With regards to the "Zope is Evil" article, I'd have to agree with that. I like working on top of the Zope architecture, but I don't think I'd really want to be working on the architecture itself. Getting Zope running within a special Python interpreter inside of ACS sounds like a very big job to me.
If there are factual errors in my document, please let me know. I had initially thought that TCL would be faster than Python, but later heard that TCL is actually much slower due to the data structures used. If someone has done good benchmarks of the two, I'd be curious to see that.
I am a Zope user, but I still believe there is plenty to be learned by looking at how ACS does things. If anyone has any questions about how Zope does things, I'd be happy to shed whatever light I can.