At the risk of contributing to the usual "my programming language is better than yours" holy war, I'll throw in $0.02(US): There are a few things that make Zope a noteworthy alternative to a HTML + Java web server: 1. Python is much less rigid in terms of types than Java, and it has nifty stuff like getAttr(). I've never seen an easy-to-use, built-in API in any other web-oriented programming language that lets me locate and use object fields and methods by entering a string value for the identifier. This often means that knowing the type of an object becomes less important - it just needs to contain the methods and attributes you need to use. If the object doesn't have what you need, Python gives you plenty of facilities to discover which methods/fields are missing and recover gracefully. Computer science purists often perch themselves on soapboxes and preach the value of rigid type-safety; Python is a shining example of when type-safety isn't always desirable. 2. Python has simple syntax for tuples, lists, and dictionaries. 3. Zope is anal-retentive about valid XHTML and XML - a wonderful feature as the web moves into the future. Zope just won't let things fly if they don't validate against the parser. 4. ZPT - a scripting language that integrates itself within the DOM. ZPT dissipates many of the easy-to-miss mistakes regarding programming-language constructs like conditional blocks and iteration, as well as exposes the contents of those iterated or condition-protected blocks to XML or XHTML validation. 5. Acquisition - a wonderful feature that helps to unify a large application by making objects easily reachable without having to memorize and use long paths. 6. Permissions - Zope has a fine-grained permissions model built in. This is a life-saver for web applications that require authentication, especially if they accommodate different classes of users. 7. Object-oriented database storage - this puts all the power of acquisition, containment, and security into your storage backend with minimal marshalling from the database storage into the web page. IMHO, Java as a web language is still much better suited for stuff like applets. However, you could conceivably take a language like Java and build a Zope-like server around it, and probably reap some benefits from Java that you would have difficulty acquiring from Python. fm On 1/6/06, Andreas Jung <lists@andreas-jung.com> wrote:
--On 6. Januar 2006 10:06:55 -0500 Asad Habib <ahabib@engin.umich.edu> wrote:
Well, the class is simply a construct that Java uses to define an object. Also, the concept of object is well defined in Java which makes it easier for the programmer to know what can and cannot be done. In Python, it is not as explicit. Java is a programming language and hence cannot be compared directly to a scripting language such as Python or PHP. These 2 types are designed for different purposes.
Python is not a programming language??? huh......the difference is that Java is compiled and Python is interpreted. I agree that PHP is not a programming language but just a weird mixture of HTML and _something_ programming-language-like :-)
-aj
_______________________________________________ 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 )
participants (1)
-
Floyd May