ZEO 5 does not enable async apps

Jim Fulton <[email protected]>
Newsgroups gmane.comp.web.zope.zodb
Message-ID <CAPDm-FggKFg6Prb_aSQq8rTVDvDgotXMHBCFq9CqrSVbz-4-FA@mail.gmail.com>
There's a common misconception that ZEO 5 enables async apps. Nothing
could be further from the trust.

Excuse me for shouting.

ZEO 5 HAS NOTHING TO DO WITH ASYNCHRONOUS APPS!!!

OK, now, everyone repeat after me...

ZEO (and Zope for that matter) has always used an asynchronous
networking library. The asynchronous approach makes a lot of sense for
networking (although maybe not as much sense as you might think, which
is why the server uses a thread for each client).

ZODB is an *object-oriented database*. It provides transparent
persistence. It is fundamentally at odds with asynchronous
programming.

IMO asynchronous programming is a terrible model for application
programming.  I think it made sense in browsers (to an extent, for a
counter example, look at IndexedDB), but I think people will
eventually figure out that it's a dead end on servers.

The Actor model, which has been around since the 90's is a better
general-purpose, concurrency tool. It's used prominently in Erlang,
Go, Akka (Scala/Java) and is supported in Python (threads/processes
and queues). (It also doesn't solve every problem.)

If you insist on getting your async on, I suggest looking at gevent
(which is really synchronous).  It's been used successfully with ZODB
and Zope.

Jim

-- 
Jim Fulton
http://jimfulton.info

-- 
You received this message because you are subscribed to the Google Groups "zodb" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.