[Zope] Love Zope but want to avoid Python

Dylan Reinhardt zope@dylanreinhardt.com
Thu, 13 Feb 2003 08:02:23 -0800


If you're a competent OO programmer, it shouldn't take more than one or two 
days to learn Python.

I fully appreciate the resistance to taking on yet another language.  At 
some point you have to stop reading manuals and start doing work.

But Python is so well engineered it's almost impossible for an experienced 
programmer not to learn it quickly.  Python is, as Bruce Eckel put it, 
"executable pseudocode."

Zope is a great product.  But it simply isn't anywhere near the 
click-and-drool stage yet.  System builders, developers, and maintainers 
who aren't *somewhat* familiar with Python are going to be at a huge 
disadvantage.  Most of Zope's logic is Pythonic and any reasonably 
ambitious project is going to involve cracking open the source.

Zope is applied Python.  If you start your Zope learning curve by learning 
Python, your Zope curve will be far smaller.

$.02

Dylan

At 09:49 PM 2/12/2003, Herianto Tan wrote:
>thank you for your explanation.
>
>The reason why I want to use Java in Zope is as follow:
>-It has huge community and I'm familiar with its library.
>-Many company invest in Java technology and there is a huge development
>using Java.
>-It has many good IDE which can be used freely.
>-I don't want to learn too many programming languages and be diverted with
>other technology.
>
>I think, Python is great.
>But there are many stuffs which Java provides and it doesn't yet exist in
>Python.
>So, it was the main reason why I'm looking for alternatives to use Java
>within Zope.
>
>I've been exploring Zope for quite a while and my only drawback is to learn
>Python.
>I love Zope from time to time and I feel, I must masters it soon.
>
>But your explanation gives some good points for me to master Python.
>
>thank you.
>heri
>
>
>
>
>----- Original Message -----
>From: <sean.upton@uniontrib.com>
>To: <htan@gmx.de>; <zope@zope.org>
>Sent: Thursday, February 13, 2003 1:03 PM
>Subject: RE: [Zope] Love Zope but want to avoid Python
>
>
> > 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 )
> >
>
>
>_______________________________________________
>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 )