Joe wrote:
I have just started using Zope as well and am still pleasantly surprised (still working on my first useful page).
Zope on JPython is so compelling to me that I feel like that's the project for me. As I come up to speed on Java and Python, I'd like to take a crack at getting Zope onto JPython.
I'll speak to another angle of the JPython work: mindshare. Hadar Pedhazur (our board chairman and principal at our VC fund) and I recently went on an analyst tour (META, Giga, Gartner, et al.) The subject of Java servlets as the definition of application servers came up over 50% of the time. Our position currently is pretty clear: servre-side Java is a bandwagon, but a pretty murky bandwagon. Joining all the others in that market doesn't seem like an "obvious" thing to me. Java still has a lot going against it (Microsoft, poor portability, speed) and so we're doing pretty well where we are now. Case in point: $ telnet www.javasoft.com 80 Trying 204.160.241.83... Connected to www.javasoft.com. Escape character is '^]'. GET / HTTP/1.0 HTTP/1.1 200 OK Date: Thu, 22 Jul 1999 10:30:36 GMT Server: Apache/1.2.5 Now, Java has a web server. Why is the company that creates Java running a web server written in C? Isn't Java the world's best server side technology? With that said, we certainly don't want our consulting services to be artificially confined to a subsegment of the market -- that is, eliminating the perhaps large number of customers that have bought into the servlet/bean vision. Zope running in JPython is something we've always held out as being an escape hatch. Thus, we'd like to see some work on it. How might this happen? One of two ways seemed logical. Either the community would do it (with our support and endorsement) or a paying customer would require it. The jury's in now and thanks to you and Michael, it appears the first has happened.
I do have a question for the Digicool folks though, especially since this would seem to be a long-term project given all the C code and the comments on the size of
Hmmm, do you feel like there is an onerous amount of C code without Python equivalents?
the project. If a project like this were occurring, would DigiCool be happy to roll in the changes so
Certainly, but I we'd also like to make sure about the goals of such an endeavor. Are the goals speed, portability, integration (e.g. with servlets or as a bean), etc.? Thus, while I'm not telling you to stop leaping, I'm also asking that you do some looking. :^)
that they didn't get lost? I can imagine being open to such a project, but I feel like if there isn't a serious commitment, JPython support
This is a good point. We don't regard our position as publishers of Zope in a cavalier way. We realize that the things we say and do impact what others do, and if we make a sudden change in course, it can disrupt (or worse, waste) people's efforts.
might eventually just be wasted. (On the other hand, that seems unlikely given the increasingly compelling nature of Java both on the server and as a state of the art VM in speed and reliability.) I don't really understand the nature of servlets with respect to Zope, but I can't imagine having the choice between them would be too bad.
Yep, a bit of research is in order. How hard is writing a JPython-based servlet?
Aside from the porting effort I realize that there are speed issues, but for some of us portability and the simple extensibility offered by the JPython /Java combination outweigh speed considerations.
Ahh, speed. :-)
This issue is actually (if I'm reading the tea leaves properly) a driver for moving Zope to JPython. According to a presentation at JavaOne by the originator of JPython, JPython is currently on par (or thereabouts, I don't exactly remember) with Python, and the prospects for increased speed above (C)Python are on the horizon. I don't have PowerPoint, so I can't extract the details right now, but the following link has PowerPoint slides for the JavaOne presentation if anyone is interested in peeking:
http://www.jpython.org/jpython-talk-1.ppt
One of the key points to me was that the Java VM technology has advanced so far so fast that it's outstripping previous VMs dramatically. I don't remember if the speedups already included the HotSpot 1.0 JVM, but the HotSpot 2.0 JVM is supposed to be another 30+% faster, so I believe that'll make JPython that much faster than (C)Python.
I was at SPAM Houston for Jim Hugunin's first unveiling of those numbers. He confessed that they were (a) quite speculative, being based on the speculative pystone test, (b) on the horizon, meaning not here yet, and (c) all done on MS' VM. It was something like a five-fold drop when going back to the standard JDK. Perhaps HotSpot will address it, but when will it be available on Linux? On FreeBSD? On Mac OS X Server? On Digital Unix or SGI? Point is, these are nice goals and hopes, and there is some evidence on the table already, but it's still to early to predict what will actually happen and what will be the unintended side-effects.
Anyway, I think the wonderful dovetailing of Java and JPython would make Zope even more incredible than it already is and that's what I'm hoping for (since those are my three platforms of choice: Java, Zope, (J)Python).
Having a CPython and JPython/Servlet version of Zope -- boy, that would certainly make Zope pretty unique! --Oayk