The Artima Developer Community
Sponsored Link

Python Buzz Forum
Zope 3 and Modeling

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Ian Bicking

Posts: 900
Nickname: ianb
Registered: Apr, 2003

Ian Bicking is a freelance programmer
Zope 3 and Modeling Posted: Oct 27, 2005 8:41 AM
Reply to this message Reply

This post originated from an RSS feed registered with Python Buzz by Ian Bicking.
Original Post: Zope 3 and Modeling
Feed Title: Ian Bicking
Feed URL: http://www.ianbicking.org/feeds/atom.xml
Feed Description: Thoughts on Python and Programming.
Latest Python Buzz Posts
Latest Python Buzz Posts by Ian Bicking
Latest Posts From Ian Bicking

Advertisement

In comments on this post Martijn Faassen says:

Unfortunately, it has also meant that Zope is not as easy to scale down to small applications. Not being able to scale down negatively impacts the learning curve, and that negatively impacts adoption. We should fix this, and in fact work has been done on it. You're right in that the "hello world" case should be even easier (even though Zope's "hello world" does a lot more than you'd think at first sight).

I assume "Zope" in this context applies to Zope 3; Zope 2 has a funny learning curve. I don't know what a Z-shaped curve is -- I think that breaks my concept of a what a learning curve looks like -- but the curve is one that starts as being really really easy, and then really really hard. Zope 3 doesn't have a really realy easy part (which is fine, since that just led to false starts in Zope 2, IMHO).

But I'd say that Zope's scaling problem doesn't just hurt adoption, it really hurts development too. All applications start out as small applications. I could even invoke some hype word (maybe appending a version number) and say that the New Way Of Development involves lots of small interacting applications instead of large apps.

Good development in the beginning means deferring choices as much as possible and focusing on results instead of abstractions. Abstractions should emerge from your functional goals, and if you spend a lot of time modeling in the beginning then you've made premature choices and designed code that you don't yet understand. You haven't just wasted time, you've introduced a liability.

That doesn't mean abstractions are bad. I'm not saying we should all use PHP; sometimes it's faster to walk than drive, but using PHP is like living in a world where they haven't invented the wheel.

Zope 2 allowed you to start without modeling at all, but down that road led an unmaintainable mess (you can do maintainable code in Zope 2, but it requires up-front modeling in the form of Product building). Zope 3 encourages modeling from the beginning, but I don't think that's the right lesson to learn from Zope 2. It wasn't that Zope 2 was wrong for allowing that simple start, but that it was misdesigned so that there was too much of a disconnect between the simple form of Zope 2 and the reasonably-manageable form.

Anyway, there seems to be a lot Zope 3ers lately saying "hey, what about us?", so there's my $0.02.

Read: Zope 3 and Modeling

Topic: Plus Ca Change Previous Topic   Next Topic Topic: Long words

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use