Really, Python is Zope's Secret Weapon. Ignoring that is to your disadvantage. You can use Java in Zope, but only via Python. Look at JPE, which is a bridge between CPython and Java. This would allow you to leverage existing Java code and familiarity in Zope/Python. I think I've heard of someone using this technique to write a custom catalog index using a Java-based indesing framework. Frankly, though, all the advantages of Zope won't make sense if you try to use it in this way. To take advantage of Zope's object persistence, you really need to be coding in Python; I don't think JPE will give you enough power to . It is an awkward mix, except in certain circumstances. Most Java programmers have no problem with Python, since concepts are similar in many ways. If you are really into (finger) typing more than you need to, I suppose you can stick with Java. Its funny, but I would think Java is a crutch... (a) Static typing introduces more potential for errors in casts than the potential for errors (not caught by a compiler) in a dynamically typed language with test-first design. Unit-tests and code-readability make Python a hands-down winner. (b) Working in both worlds isn't that bad. Many folks handle both Java and Python skills just fine. (c) Java is a poor language for code-reviews, experimentation and such, becuase there is more code to read, intent is not clear across team-members, and you can't try out a snippet of code in interactive mode. It only doubles in complexity if you start to realize that (ouch!) you have to write your unit tests in this same cumbersome language. This means that Python is orders of magnitude faster for team projects and developing using component-oriented methodologies that have any hope of scaling past 1 programmer. (d) Read http://www.infoworld.com/article/03/02/06/06stratdev_1.html (e) Read Bill Venners' 5 part interview with Guido http://www.artima.com/intv/strongweak.html (f) Learning Python is easy, easy, easy, especially for a Java programmer. Similarities: assignment via reference, fully-object-oriented from the start, rich class libraries. Differences: Python supports mutliple inheritance, interface contracts are not required in Python, but can optionally be specified (and are in most good Zope products, like the CMF), Python is dynamically typed, which means less casts and worrying about type-checking (just focus on passing unit-tests instead). Python can be learned interactively. You are not going to face the same, or even 1/4 of the same learning curve you took on when you first learned Java. Buy youself a copy of Beazley's Python Essential Reference, 2nd Ed, and go through the official Python tutorial at: http://www.python.org/doc/ and you should be in good shape. If you don't have a few hours to learn the ropes in Python, perhaps Zope is not really going to benefit you as much as it possibly could; if you are that committed to the Java platform, you might want to consider some of the other app server alternatives out there. If Zope has compelling features (and it has many) that are attractive enough, learning Python should not be the barrier for you. If it is, you likely don't care about the features enough to justify the interest. Sean -----Original Message----- From: Heri [mailto:htan@gmx.de] Sent: Wednesday, February 12, 2003 8:04 PM To: zope@zope.org Subject: [Zope] Love Zope but want to avoid Python Hi, i'm a java programmer for the last 3 years. I'm very comfortable with Java Language now, and understand most of its library, ettc.. I like Zope very much and like its ZPT and many others. But I have not much idea about Python and I don't want to spend much time 'learning python' just do do stuff with Zope. As I feel more comfortable with Java, can someone suggest me a way to use ZOPE by using my Java Skill? thanks!!! _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )