Hacker News new | ask | show | jobs
by pantulis 1907 days ago
Before Django the gold standard for Python web apps was Zope. What a tremendous achievement by the Django team!
6 comments

I remember Zope was pretty universally disliked by Python programmers. But it was for a time probably the most enterprisey thing with Python inside, so maybe it got more points in corporate places as something to try as an alternative to Enterprise Java Buzzwords.

Before Django there was a lot of choice and active libraries / frameworks for Python web app development, IME most apps gravitated more towards "ala carte" use of libraries than one size fits all frameworks, a bit like people do in Clojure today.

Zope was more like a ready to use CMS that incidentally enabled you to mod it using Python in a clunky way.

The object database part of Zope (ZODB) was pretty cool though, used separately (inside Zope the framework-enforced object schema made it just clunky). As long as you didn't let it spread too wide over your codebase. But it had transactions, flexibility of (and problems of...) schemaless, and replication, a long time before the "NoSQL" craze.

Replying to myself: for those interestedin ZODB, there's also a simpler standalone remake called Durus (by well known Pytoneer Neil Schemenauer): https://github.com/nascheme/durus

It might not have the replication / distributed features though.

I recall there being some 'wilderness years' between people generally deciding that Zope was a bad idea and Django 'winning'. I remember using frameworks like Turbogears and CherryPy for a while before Django and Flask split the 'market' between them.
This is how I was seeing things play out in the early 2000's: — Python Programmers: why do we still have to be doing this in php/Perl/JSP/ASP when Python exists? — The World: here's Zope — Python Programmers: is that supposed to be joke?

Then in 2003 WSGI showed up and it was a matter of time, leading to the years of wilderness that you describe until Django won out. I confess that I was more team Pylons, but happily conceded.

Not sure if a lot of people on HN are old enough to remember that :)
Not many have ever heard of it, but everyone has seen the design that borrowed from the most well-known software that used Zope - Plone.

Of course, I'm referring to the early design of Wikipedia, which closely copied the design of Plone.

In my mind HN skews older, but I have no idea why I think that.

For what it's worth, I definitely remember Zope.

Well, that's what I'm here for ;)
Ah, Zope, that wonderful monstrosity. I build a purchase order system for my company in it back in the day. It made that type of business app very easy, as long as you didn't expect any kind of performance or scalability. The magic of Zodb was also its weakness. But even today, I think it would still be faster to develop a basic business app in Zope than in Django.
Zope? Now, that's a name I haven't heard in a long time... A long time.

I wonder of this magnificent monstrosity is still alive?

It’s still alive and underpins the CMS plone [1].

It has evolved and separated into zope [2] zodb [3] and ztk.

[1] https://plone.org

[2] https://zope.org

[3] https://zodb.org

Note: circled the link.

I remember being quite interested in zodb for app development in python since it alleviates the need for an orm... it is a bit like a document store, right?
Yes indeed it is and also comes with High availability and horizontal scaling. It’s is an object store but is ACID compliant.
I was just reading this last week talking about zope.interface

https://glyph.twistedmatrix.com/2021/03/interfaces-and-proto...

I thought Pyramid is old enough, but I just heard this Zope