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 )
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 )
Have you tried "Dive into Python"? http://diveintopython.org Ausum ----- Original Message ----- From: "Herianto Tan" <htan@gmx.de> To: <sean.upton@uniontrib.com>; <zope@zope.org> Sent: Thursday, February 13, 2003 12:49 AM Subject: Re: [Zope] Love Zope but want to avoid Python
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 )
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 )
Herianto Tan wrote:
The reason why I want to use Java in Zope is as follow: -It has huge community and I'm familiar with its library.
I like Java as a language, but IMHO many libraries are unnecessarily complicated. I remember spending some evenings on simple things, like sending an email or retrieving a webpage via HTTP. Python also has an extensive library, but most tasks that should be simple, are. With Java I was used to making some fresh coffee before starting to program. While the machine was brewing coffee I would browse through the Javadocs. Equiped with API knowledge and a fresh cup of coffee I would start writing out a class hierarchy, interfaces, declarations and exception handling. With Python I'm usually done programming before the coffee machine has finished, and I get to enjoy the coffee while watching my program run :-) Cheers, René Pijlman
participants (5)
-
Ausum Studio -
Dylan Reinhardt -
Herianto Tan -
Rene Pijlman -
sean.upton@uniontrib.com