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:
- 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.
- Python has simple syntax for tuples, lists, and dictionaries.
- 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.
- 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.
- Acquisition
- a wonderful feature that helps to unify a large application by making
objects easily reachable without having to memorize and use long paths.
- 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.
- 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
)